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 ==> 判断是否发送请求来加载数据