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 相关文章推荐
跨浏览器通用、可重用的选项卡tab切换js代码
Sep 20 Javascript
js关于精确计算和数值格式化以及直接引js文件
Jan 28 Javascript
javacript使用break内层跳出外层循环分析
Jan 12 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
javascript replace()第二个参数为函数时的参数用法
Dec 26 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
Jul 11 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
May 14 Javascript
正则表达式基础与常用验证表达式
Jun 16 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 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python字符串连接方式汇总
2014/08/21 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
python twilio模块实现发送手机短信功能
2019/08/02 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
ddl,dml和dcl的含义
2016/05/08 面试题
文员的职业生涯规划发展方向
2014/02/08 职场文书
服务标语大全
2014/06/18 职场文书
介绍信模板
2015/01/31 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
Django框架中表单的用法
2022/06/10 Python