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 面向对象,实现namespace,class,继承,重载
Oct 29 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
jQuery文本框(input textare)事件绑定方法教程
Apr 24 Javascript
js判断横竖屏及禁止浏览器滑动条示例
Apr 29 Javascript
Vue.js学习示例分享
Feb 05 Javascript
利用Node.js编写跨平台的spawn语句详解
Feb 12 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
vue下拉列表功能实例代码
Apr 08 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
Sep 04 Javascript
Vue 实现一个命令式弹窗组件功能
Sep 25 Javascript
解决vue 表格table列求和的问题
Nov 06 Javascript
微信小程序实现抖音播放效果的实例代码
Apr 11 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下正则来匹配dede模板标签的代码
2010/08/21 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
PDO::inTransaction讲解
2019/01/28 PHP
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python机器学习之贝叶斯分类
2018/03/26 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
python实现kmp算法的实例代码
2019/04/03 Python
Python中拆分字符串的操作方法
2019/07/23 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
linux面试题参考答案(9)
2016/01/29 面试题
捐款倡议书范文
2014/02/02 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
先进党支部申报材料
2014/12/24 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python