vue中组件渲染过程
文章类型:Vue
发布者:hp
发布时间:2023-05-19
在项目开发过程中,经常使用组件,整理一下组件渲染过程
1:创建阶段:
beforeCreate:在实例初始化之后、数据观测 (data observation) 和事件配置之前被调用,组件的数据和方法还未初始化,无法访问组件的属性和方法。
created:在实例创建完成后被调用。组件的数据和方法已经初始化,可以访问组件的属性和方法。。
2:模板编译和挂载阶段:
beforeMount:在挂载开始之前被调用。将编译模板准备将组件渲染到真实的 DOM 中。
mounted:在挂载完成后被调用。组件已经被渲染到页面上可以访问组件的真实 DOM。
3:更新阶段:
beforeUpdate:在数据更新之前被调用。组件尚未重新渲染,数据已经发生了变化。
updated:在数据更新完成后被调用。组件已经完成重新渲染,并且可以访问更新后的 DOM。
4:销毁阶段:
beforeDestroy:在实例销毁之前被调用。组件实例仍然完全可用。
destroyed:在实例销毁之后被调用。组件实例及其相关的 DOM 已经被完全销毁,无法再访问组件的属性和方法
1:调用 beforeUpdate 钩子函数:在组件更新之前,首先调用。
2:执行 Diff 算法:通过比较新旧虚拟 DOM 树来确定哪些部分需要更新。
3:更新虚拟 DOM:根据 比较结果,会更新虚拟 DOM 树中的相应节点。
4:执行组件的 updated 钩子函数:在完成虚拟 DOM 的更新后,调用组件的 updated 钩子函数。
5:更新真实 DOM:根据更新后的虚拟 DOM 树,生成并更新真实的 DOM 树。
1:通过虚拟 DOM 和 Diff 算法的配合,能够高效地更新页面内容,并减少对真实 DOM 的操作,提高性能和用户体验
2:生命周期钩子函数为开发者提供了更多的灵活性,可以在渲染过程的不同阶段执行自定义逻辑