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 相关文章推荐
用dtree实现树形菜单 dtree使用说明
Oct 17 Javascript
Javascript获取当前日期的农历日期代码
Oct 08 Javascript
JavaScript更改原始对象valueOf的方法
Mar 19 Javascript
详解JavaScript对象和数组
Dec 03 Javascript
JS+Canvas绘制时钟效果
Aug 20 Javascript
JS控制TreeView的结点选择
Nov 11 Javascript
js 数据存储和DOM编程
Feb 09 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
Nov 15 Javascript
微信小程序中使用echarts的实现方法
Apr 24 Javascript
react-router-dom 嵌套路由的实现
May 02 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发送邮件的类
2011/03/24 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
jQuery live
2009/05/15 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
详解Angular 4.x Injector
2017/05/04 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
人工神经网络算法知识点总结
2019/06/11 Python
Python 硬币兑换问题
2019/07/29 Python
python logging设置level失败的解决方法
2020/02/19 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
椰子猫砂:CatSpot
2018/08/27 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
入党自我评价范文
2014/02/02 职场文书
揠苗助长教学反思
2014/02/04 职场文书
python 提取html文本的方法
2021/05/20 Python
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技