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}`)])
}
})