2.0
1、生命周期
1.1、生命周期
// vue2.0
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed
发送请求在created还是mounted?
这个问题具体要看项目和业务的情况了,因为组件的加载顺序是 ,但父组件引入子组件,那么先执行父组件的前三个生命周期,再去执行子组件的前四个生命周期,那么如何我们的业务是父组件引入子组件,并且优先加载子组件数据,那么父组件的加载请求需要放在mounted在,如果当前组件没有依赖关系,存放在哪个生命周期中请求都是可以的。
1.2、为什么发送请求不在beforeCreate里?beforeCreate和created的区别?
1、不在beforeCreate中发送请求
因为如何我们的请求是在methods中封装好的,在beforeCreate中调用的时候,
beforeCreate阶段是拿不到methods中的方法的(会报错)。
2、beforeCreate和created区别?
beforeCreate没有$data
created中有$databeforeCreate拿不到methods的方法
created可以拿到methods的方法
1.3、在created中如何获取dom?
1、只要写异步代码,获取dom是在异步代码中获取的,就可以了;
因为进入组件时,会执行四个生命周期,beforeCreate、created、beforeMount、mounted,
而mounted中就可以获取到dom,异步代码会进行任务队列,等待同步代码执行完毕后,再执行;
例如:setTimeout、请求、Promise.xxx()等等。
2、使用vue系统内置的this.$nextTick()。
1.4、一旦进入组件时,会执行哪些生命周期?
beforeCreate
created
beforeMount
mounted
1.5、第二次或第N次进入组件会执行哪些生命周期?
1.6、父组件中引入子组件,生命周期的执行顺序?
父: beforeCreate
父: created
父: beforeMount
子: beforeCreate
子: created
子: beforeMount
子: mounted
。。。 可能有多个子组件
父: mounted先获取父组件的data,有可能需要传给子组件做操作,再执行子组件的data、DOM,
最后执行父组件的DOM;
1.7、加入keep-alive会执行哪些生命周期?
1.8、你在什么情况下用过哪些生命周期?说一说生命周期的使用场景?