首页 > 编程语言 >深度学习Vue源码-模板编译原理

深度学习Vue源码-模板编译原理

时间:2022-10-03 15:24:20浏览次数:86  
标签:el Vue render ast text 源码 let template 模板

前言

此篇主要手写 Vue2.0 源码-模板编译原理

上一篇咱们主要介绍了 Vue 数据的响应式原理 对于中高级前端来说 响应式原理基本是面试 Vue 必考的源码基础类 如果不是很清楚的话基本就被 pass 了 那么今天咱们手写的模板编译原理也是 Vue 面试比较频繁的一个点 而且复杂程度是高于响应式原理的 里面主要涉及到 ast 以及大量正则匹配 大家学习完可以看着思维导图一起手写一遍加深印象哈

适用人群: 没时间去看官方源码或者看源码看的比较懵而不想去看的同学


正文

// Vue实例化
new Vue({
  el: "#app",
  data() {
    return {
      a: 111,
    };
  },
  // render(h) {
  //   return h('div',{id:'a'},'hello')
  // },
  // template:`<div id="a">hello</div>`
});

上面这段代码 大家一定不陌生 按照官网给出的生命周期图 咱们传入的 options 选项里面可以手动配置 template 或者是 render

注意一:平常开发中 我们使用的是不带编译版本的 Vue 版本(runtime-only)直接在 options 传入 template 选项 在开发环境报错

注意二:这里传入的 template 选项不要和.vue 文件里面的

标签:el,Vue,render,ast,text,源码,let,template,模板
From: https://www.cnblogs.com/yyzzabc123/p/16750565.html

相关文章

  • SSM+Vue房屋出租出售系统 个人房屋出租管理系统 房屋出售管理系统Java
    ......
  • Vue2 组件间通讯
    概述在Vue中一个项目中往往需要被拆分成多个组件,但是每个组件之间都会有相互访问数据的需求。这时就涉及到组件之间的通讯了。使用props进行组件间的通讯父向子通......
  • Vue2 路由
    Vue路由基本使用安装npmivue-router@3配置在src目录下生成router/index.js用于存放router的配置。router/index.js//引入vue-routerimportVueRoute......
  • vue-ant design示例大全——按钮本地css/js资源
    vue-antdesign示例大全——本地css/js资源示例资源来自官网:​​https://www.antdv.com/components/button-cn​​在AntDesignVue中我们提供了五种按钮。主按钮:用于主行......
  • Vue2 ref
    ref概述我们在使用Vue时,有时会需要拿到DOM元素进行操作。这时Vue不推荐我们进行使用原生JS获取DOM元素。而是为我们提供了ref方便我们去获取组件中的DOM......
  • Vue2 自定义属性
    概述vue中不不仅仅有官方提供的指令,用户还可以根据自己的需要进行自定义指令。比如当我们需要一个常用的操作将文字改为蓝色,如果我们需要修改大量标签时,就可以使用自定......
  • Vue2 组件
    非单文件组件(过渡)非单文件组件就是指并非一个组件占用一个文件,而是一个人间中有多个组件。我们只将其作为学习的过度,实际开发中不适用这种方式。demo:<body> <divid="a......
  • Vue2 生命周期
    Vue生命周期概述在使用Vue时,我们需要执行一些JS代码。比如我们需要在页面中添加一个定时器来固定间隔更新时间。这时我们可能会想到直接在,Vue实例外书写JS代码......
  • Vue2 插槽
    Vue插槽概述插槽就是组件内的一个预留区域,它允许使用者向组件内的预留区域来添加自己想要的内容。比如我们已经写好了一个组件,然后以后可能会在指定区域插入广告,这时就......
  • P3384 【模板】轻重链剖分/树链剖分
    【模板】轻重链剖分/树链剖分题目描述如题,已知一棵包含\(N\)个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:1xyz,表示将树从\(x\)到\(y\)结点......