vue渲染虚拟dom树原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue渲染虚拟dom树原理相关的知识,希望对你有一定的参考价值。

参考技术A 1、判断是否有render函数,如果有,直接将render函数返回结果作为虚拟节点树;如果没有,看有没有template配置

2、如果有template配置,将template作为模板 编译为render函数;如果没有则看el配置的outerhtml作为模板

render函数:

a、render 函数的参数(createElement)

createElement 是 render 函数 的参数,它本身也是个函数,并且有三个参数。

b、createElement 函数的参数(三个)

(1)一个 HTML 标签字符串,组件选项对象,或者解析上述任何一种的一个 async 异步函数。类型:String | Object | Function。必需。

(2)一个包含模板相关属性的数据对象你可以在 template 中使用这些特性。类型:Object。可选。

(3)子虚拟节点 (VNodes),由 createElement() 构建而成,也可以使用字符串来生成“文本虚拟节点”。类型:String | Array。可选。

例子:

var vm= new Vue(

el:"#app",

data:

author:“web小王子”



render(h)

h("h1",[h("h1",



      props:

        someProp: 'foobar'     

    ,

`第1个vue应用,作者$this.author`)])



)

以上是关于vue渲染虚拟dom树原理的主要内容,如果未能解决你的问题,请参考以下文章

前端技能树,面试复习第 27 天—— React Diff 算法的原理,和 Vue 有什么区别 | 虚拟 DOM | key 的原理,为什么要用

虚拟DOM和抽象语法树

Vue中的浏览器关键渲染路径及虚拟DOM

Vue | 虚拟DOM

vue2.0框架认识

vue----核心虚拟dom