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 find和children方法使用
Jan 31 Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
基于JavaScript Array数组方法(新手必看篇)
Aug 20 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 Javascript
JavaScript设置名字输入不合法的实现方法
May 23 Javascript
原生javascript实现文件异步上传的实例讲解
Oct 26 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
JavaScript浅层克隆与深度克隆示例详解
Sep 01 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
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
javascript中的array数组使用技巧
2010/01/31 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
在python中的socket模块使用代理实例
2014/05/29 Python
以一段代码为实例快速入门Python2.7
2015/03/31 Python
详解详解Python中writelines()方法的使用
2015/05/25 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
python验证码识别的实例详解
2016/09/09 Python
Php多进程实现代码
2018/05/07 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
python爬虫用mongodb的理由
2020/07/28 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
总经理助理职责
2014/02/04 职场文书
城市创卫标语
2014/06/17 职场文书
临时租车协议范本
2014/09/23 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
行为规范主题班会
2015/08/13 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
Python实现简单的猜单词
2021/06/15 Python
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
MySQL中order by的执行过程
2022/06/05 MySQL