Skip to content

生命周期

选项式 API

js
beforeCreate;
created;
beforeMounted;
mounted;
beforeUpdate;
updated;
beforeDestroy;
destroyed;

如果加入 keep-alive 新增 2 个:activated、deactivated

js
beforeCreate;
created;
beforeMounted;
mounted;
beforeUpdate;
updated;
beforeDestroy;
destroyed;
activated;
deactivated;

Setup

js
onBeforeMount;
OnMouned;
onBeforeUpdate;
onUpdated;
onBeforeUnmount;
onUnmounted;

如果加入 keep-alive 新增 2 个:onActivated、onDeactivated

js
onBeforeMount;
OnMouned;
onBeforeUpdate;
onUpdated;
onBeforeUnmount;
onUnmounted;
onActivated;
onDeactivated;

你在什么时候用哪些生命周期?

INFO

页面初始化想要获取到数据并且渲染到页面上,可以在生命周期中请求

created 和 mounted 有什么区别?你在哪个生命周期中请求

INFO

如果只是简单的拿到数据,渲染到页面上,请求放在哪里都可以(原因:生命周期是同步执行的,请求是异步行为,js 的执行流程是:同步==》异步,所以异步总在生命周期执行完了,才会拿到请求过来的数据)

***如果有父子关系的情况,要看数据的重要性,如果父的请求重要【优先执行】放在 created 中,不重要(子请求重要,放在)mounted 中

created 前和中如何获取 dom

INFO

只要是异步的就可以,当然 vue 系统自带了 this.$nextTick(他的原理就是一个异步的)

父和子组件的生命周期执行顺序

INFO

父的 beforeCreate、created、beforeMount 子的 beforeCreate、created、beforeMount、mounted 最后是父的:mounted