Vue是怎么渲染template内的标签内容的


Posted in Javascript onJune 05, 2020

我们在使用Vue做项目时,都会用到脚手架,相应的我们会在template写标签内容。那么你知道为什么会在template写标签吗?这当中经过了怎样的处理呢?

<template>
 <div id="app">
  <div id="nav">
  </div>
  <router-view/>
 </div>
</template>

<style lang="less">

</style>

其实Vue在处理template时,是经过这样处理的,它是通过内置的render方法处理我们输入的标签,生成VNodes。下面我注释了template内的代码,你可以先看下效果,然后注释掉render方法内的内容,取消注释template。看下前后效果是否一样。

<!DOCTYPE html>
<html>
<head>
 <title>render</title>
</head>
<style type="text/css">
 #text{
 font-weight: bold;
 font-size: 26px;
 }
</style>
<body>
 <div id="app">
 
 </div>
</body>
<script type="text/javascript" src="https://unpkg.com/vue@2.6.11/dist/vue.js"></script>
<script type="text/javascript">
 const vm = new Vue({
 el:'#app',
 data: {
      text: 'hello world',
      style1: {
      width: '200px',
      height: '200px',
      border: '1px solid red'
      },
      style2: {
      textAlign: 'center'
      },
      colorText: {
      color:'blue'
      }
    },
   //  template:`<div :style='style1'>
   //  <p :style='style2'>
   //    <span :style='colorText' @click='cli()' id='text'>{{text}}</span>
   //  </p>
   //  </div>`,
   //  methods:{
   // cli(){
   // alert(1)
   // }
  //  },
  render(createElement) {
    return createElement('div', {
      style: this.style1
    }, [
      createElement('p', {
        style: this.style2
      }, [createElement('span', {
        style: this.colorText,
        attrs:{
          id:'text'
        },
        on:{
          click:()=>{
            alert(1)
          }
        }
      }, this.text)])
    ])
  }
 })
</script>
</html>

 到此这篇关于Vue是怎么渲染template内的标签内容的的文章就介绍到这了,更多相关Vue渲染template内容内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript开发随笔一 preventDefault的必要
Nov 25 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
js如何取消事件冒泡
Sep 23 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
js HTML5 Ajax实现文件上传进度条功能
Feb 13 Javascript
Vue 进阶教程之v-model详解
May 06 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
Sep 16 Javascript
JS自定义右键菜单实现代码解析
Jul 16 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 #Javascript
VueX模块的具体使用(小白教程)
Jun 05 #Javascript
Vuex的热更替如何实现
Jun 05 #Javascript
2分钟实现一个Vue实时直播系统的示例代码
Jun 05 #Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 #Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 #Javascript
vue使用nprogress加载路由进度条的方法
Jun 04 #Javascript
You might like
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
js中document.write的那点事
2014/12/12 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
详谈js模块化规范
2017/07/07 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
解决vue 引入子组件报错的问题
2018/09/06 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
Django CBV类的用法详解
2019/07/26 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
班级出游活动计划书
2014/08/15 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL