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 相关文章推荐
jQuery-ui中自动完成实现方法
Jun 10 Javascript
JS完成代码前最好对其做5件事
Apr 07 Javascript
JQuery设置和去除disabled属性的5种方法总结
May 16 Javascript
js动态添加删除,后台取数据(示例代码)
Nov 25 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
Apr 03 Javascript
jquery获取及设置outerhtml的方法
Mar 09 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
vue地区选择组件教程详解
May 04 Javascript
vue2 拖动排序 vuedraggable组件的实现
Aug 08 Javascript
node.JS二进制操作模块buffer对象使用方法详解
Feb 06 Javascript
JS写滑稽笑脸运动效果
May 28 Javascript
微信小程序实现文件预览
Oct 22 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
php生成excel列序号代码实例
2013/12/24 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
CI框架常用方法小结
2016/05/17 PHP
如何打开php的gd2库
2017/02/09 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
php数值转换时间及时间转换数值用法示例
2017/05/18 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
创建js对象和js类的方法汇总
2014/12/24 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python中的作用域规则详解
2015/01/30 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
对python的输出和输出格式详解
2018/12/08 Python
Python中的heapq模块源码详析
2019/01/08 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
python else语句在循环中的运用详解
2020/07/06 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
对公司合理化的建议书
2014/03/12 职场文书
陈欧的广告词
2014/03/18 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
审计班子对照检查材料
2014/08/27 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技