生命周期钩子在内部会被vue维护成一个数组(vue 内部有一个方法mergeOption)和全局的生命周期合并最终转换成数组,当执行到具体流程时会执行钩子(发布订阅模式),callHook来实现调用。
理解vue中模板编译原理?
1 会将模板变成ast语法树(模板编译原理的核心就是 ast-> 生成代码)
2 对ast语法树进行优化,标记静态节点.(vue3中模板编译做了哪些优化patchFlag,blockTree,事件缓存,节点缓存...)
3 代码生成 拼接render函数字符串 + new Function + with;