前端面试 vue生命周期钩子是如何实现的?理解vue中模板编译原理?

生命周期钩子在内部会被vue维护成一个数组(vue 内部有一个方法mergeOption)和全局的生命周期合并最终转换成数组,当执行到具体流程时会执行钩子(发布订阅模式),callHook来实现调用。

理解vue中模板编译原理?

1 会将模板变成ast语法树(模板编译原理的核心就是 ast-> 生成代码)

2 对ast语法树进行优化,标记静态节点.(vue3中模板编译做了哪些优化patchFlag,blockTree,事件缓存,节点缓存...)

3 代码生成 拼接render函数字符串 + new Function + with;

你可能感兴趣的:(javascript,js,vue,vue.js,javascript,前端)