VUE2 生命周期面试高频题

 1. 生命周期有哪些?

Vue2.x系统自带有8个: 

beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed

 2. 发送请求在created还是mounted?

这个问题需要参考具体的实际情况:

  1. 父组件引入了子组件,先执行父组件的前三个生命周期,再执行子组件的前四个生命周期
  2. 业务需求是在父组件中引入子组件,并且优先加载子组件的数据,发送请求放mounted中
  3. 如果在当前组件没有依赖关系,那么将发送请求放在哪个生命周期都是可以

3.  为什么发送请求不在beforeCreate里?

  1. 因为如果请求在methods中封装好了,那么在beforeCreate调用的时候,在beforeCreate阶段是拿不到methods里面的方法的,会报错。
  2. beforeCreate中没有$data, created中有$data, 因此created可以拿到methods里的方法。

4. 在created中如何获取dom

  • 通过异步代码获取dom
  • 通过系统内置的this.$nextTick()

5. 一旦进入组件会执行哪些生命周期?

  • beforeCreate
  • created
  • beforemount
  • mounted

6. 第二次或者第N次进去组件会执行哪些生命周期?

  1. beforeCreate created beforeMount mounted
  2. 若加入了keep-alive组件,则只会执行activated,因为组件已经缓存

7. 你在什么情况下用过哪些生命周期?说一说生命周期使用场景?

  • created: 单个组件请求, 简单请求或者是调用methods里面已经封装好的方法
  • mounted: 同步操作可以获取dom,如果子组件先请求后父组件,需要把请求放在mounted中
  • activated:判断id是否相等,不等就发请求(缓存页面数据)
  • destroyed: 在关闭页面的时候,记录视频播放的时间, 初始化的时候从上一次的历史开始播放
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值