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实现计算两个日期的间隔天数
Aug 14 Javascript
jQuery实现的立体文字渐变效果
May 17 Javascript
jquery nth-child()选择器的简单应用
Jul 10 Javascript
js 判断一个元素是否在页面中存在
Dec 27 Javascript
Javascript的表单验证-提交表单
Mar 18 Javascript
实践中学习AngularJS表单
Mar 21 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
Jun 17 Javascript
jQuery表单对象属性过滤选择器实例详解
Sep 13 Javascript
js实现彩色条纹滚动条效果
Mar 15 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
Aug 30 Javascript
Vue动态组件和异步组件原理详解
May 06 Javascript
如何实现echarts markline标签名显示自己想要的
Jul 20 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程序的php代码
2008/04/07 PHP
体育彩票排列三组选三算法分享
2014/03/07 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP中“=&gt;
2019/03/01 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
2013/11/21 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
2014/07/27 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
Python快速从注释生成文档的方法
2016/12/26 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
在python中用url_for构造URL的方法
2019/07/25 Python
wxPython实现画图板
2020/08/27 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
Python实现像awk一样分割字符串
2020/09/15 Python
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
泰山导游词
2015/02/02 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书