Vue的生命周期(Vue2)

1、vue的生命周期有那些?发送请求是在created该市mounted中?

vue的生命周期有beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed。(八个)

再加入keep-live时生命周期会多两个actived和deactived(十个)

发送请求可以在created也可以在mounted,主要看应用场景:

1、如果只是一个单独的组件那么不管在mounted还是在created中,都可以。

2、如果是在父子组件中想先渲染子组件的话那就将请求放在created中,

3、如果想先渲染父组件的话那就将请求放在mounted中。

2、一旦进入组件会执行那些生命周期?

进入组件会先执行beforeCreate、created、beforeMount、mounted这四个生命周期

3、父组件引入子组件生命周期的执行顺序是

会先执行父组件的前三个生命周期,然后执行子组件的前四个生命周期,然后在执行父组件的第四个生命周期。

父:beforeCreate、created、beforeMount

子:eforeCreate、created、beforeMount、mounted

父:mounted

4、在created中如何获取dom元素?

异步获取,vue会先执行完前四个生命周期然后再执行异步方法,如果想在created中获取dom元素的可以将其放在异步方法中来获取如setTimeout(()=>{},0)等.方法有很多,只要是异步的就可以获取.

5、为什么请求不在beforeCreate中?beforeCreatet与created的区别是什么?

如果请求在beforeCreate中如果methods是封装好的在调用时,beforeCreate阶段是无法拿到methods中的方法(会报错)。beforeCreate中没有data 数据,而created中有data数据;,beforeCreate阶段是无法拿到methods中的方法,created阶段可以拿到methods中的方法(beforeMount中有data数据没有dom元素。mounted中既有dom元素也有data数据)。

6、讲讲再加入keep-llive后生命周期会发生怎样的变化?

再加入keep-live时初次进入组件时会执行5个生命周期钩子beforeCreate、created、beforeMount、mounted、actived;当第二次或第n次执行该组件时只会执行actived钩子。

7、你在什么情况下用过那些生命周期,说一说生命周期的的使用场景?

1、根据具体场景决定实现加载子组件的数据还是父组件的数据(mounted、created)

2、destroyed ==> 关闭时记录一下数据

3、activated ==> 判断是否发送请求来加载数据