Vue.js v2 的生命周期包括以下阶段:
1、 beforeCreate: 在实例初始化之后、实例数据观测和事件配置之前被调用。
2、created: 实例已经创建完成,数据观测和事件配置已完成,但尚未挂载到 DOM 上。
3、beforeMount: 在挂载之前被调用,相关的 render 函数首次被调用。
4、mounted: 实例已经挂载到 DOM 上后调用,此时组件已经渲染到页面上。
5、beforeUpdate: 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
6、updated: 数据更新完成时调用,虚拟 DOM 重新渲染和打补丁已完成。
7、beforeDestroy: 实例销毁之前调用,此时实例仍然完全可用。
8、destroyed: 实例销毁后调用,此时实例所有的指令已解绑,事件监听器已移除。
Vue.js v3 对生命周期进行了一些改变。以下是 v3 的生命周期阶段:
1、beforeCreate: 与 v2 中的相同,实例初始化之后、实例数据观测和事件配置之前。
2、created: 与 v2 中的相同,实例已经创建完成,数据观测和事件配置已完成,但尚未挂载到 DOM 上,一般发请求都是在这发
3、beforeMount: 与 v2 中的相同,在挂载之前被调用,相关的 render 函数首次被调用。
4、mounted: 与 v2 中的相同,实例已经挂载到 DOM 上后调用,组件已经渲染到页面上。
5、beforeUpdate: 在更新之前被调用,与 v2 中的 beforeUpdate 类似。
6、updated: 在更新之后被调用,与 v2 中的 updated 类似。
7、beforeUnmount: 在卸载之前被调用,取代了 v2 中的 beforeDestroy。
8、unmounted: 在卸载之后被调用,取代了 v2 中的 destroyed。
从 v2 到 v3,最明显的更改是将销毁阶段的名称从 beforeDestroy 和 destroyed 改为 beforeUnmount 和 unmounted。这是为了更准确地反映组件的生命周期,因为在 v3 中,组件的卸载与 DOM 的卸载解耦,更加灵活。
另一个重要的改变是,v3 引入了 setup 函数,它是在 beforeCreate 和 created 阶段之间执行的。setup 函数提供了一种新的方式来编写组件逻辑,并且可以在组件实例创建之前初始化数据、引入组合式 API 等。
总结起来,Vue.js v3 的生命周期在命名上进行了一些调整,并且引入了 setup 函数,以提供更灵活的组件编写方式。
标签:Vue,DOM,调用,v3,js,v2,实例,组件 From: https://blog.51cto.com/u_16235140/7264305