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 相关文章推荐
js 创建快捷方式的代码(fso)
Nov 19 Javascript
jQuery动态地获取系统时间实现代码
May 24 Javascript
js隐式全局变量造成的bug示例代码
Apr 22 Javascript
浅谈javascript语法和定时函数
May 03 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
Feb 17 Javascript
AngularJS 遇到的小坑与技巧小结
Jun 07 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
Aug 03 Javascript
react.js 获取真实的DOM节点实例(必看)
Apr 17 Javascript
微信小程序checkbox组件使用详解
Jan 31 Javascript
node.js 微信开发之定时获取access_token
Feb 07 Javascript
jquery实现两个div中的元素相互拖动的方法分析
Apr 05 jQuery
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
python列表与元组详解实例
2013/11/01 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
Python的pygame安装教程详解
2020/02/10 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
小学教学随笔感言
2014/02/26 职场文书
经典洗发水广告词
2014/03/13 职场文书
工伤赔偿协议书
2014/04/15 职场文书
经济管理自荐书
2014/06/09 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
三好学生竞选稿
2015/11/21 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript