用法
将一个模板字符串编译成 render 函数。只在完整版时可用。
模版代码:
1 | Vue.compile('<div>{{ msg }}</div>'); |
示例代码:
1 | <!DOCTYPE html> |
在浏览器中运行代码可以看到页面正常显示hello,在这一过程中,到底经历了什么呢?
compile 的步骤
compile 的内容非常多,大致分为三块主要内容,就是
parse,optimize,generate
另外,compile 的作用是解析模板,生成渲染模板的 render
- 步骤一:parse
- 接收 template 原始模板,按照模板的节点 和数据 生成对应的 ast 。
- 步骤二:optimize
- 遍历递归每一个ast节点,标记静态的节点(没有绑定任何动态数据),这样就知道那部分不会变化,于是在页面需要更新时,减少去比对这部分DOM,从而达到性能优化的目的。
- 步骤三:generate
- 把前两步生成完善的 ast 组装成 render 字符串。
因为目前是基础学习,所以这里只作为了解,后期如果有机会再深入。