模板编译

68 阅读1分钟

模板编译: 模板是vue中非常常用的部分,一个组件通常必备一个模板。模板不是html。模板中有指令,有插值,有JS表达式, 那么模板到底是什么? 答:A)模板最终肯定需要转化成js代码(render函数)。 B)原生html不识别指令,html是静态标记语言,不具备运算能力。

vue-template-complier将模板编译成render函数。执行render函数生成vnode。
在开发环境下,使用webpack的vue-loader,会编译模块。

基于vnode再执行patch和diff。

with语法: 1)改变作用域链 2)慎用,它打破了作用域规则,不易读。 3)如果找不到,会报错

模板:
1)不是html
2)模板转化成js代码(render函数) 

在一个组件中能不能不写模板,直接写render函数? 答:可以的,React一直都是render函数,React中没有模板。