美文网首页
vue2.0生命周期

vue2.0生命周期

作者: 一包 | 来源:发表于2019-04-07 11:57 被阅读0次

1. beforeCreate

  • 实例创建刚被创建,组件属性计算之前
  • 实例中的data和el都是undefined。因此,在beforeCreate钩子函数中不能使用data中的数据,也不能获得DOM节点
  • ==loading动画==

2. created

  • 组件实例创建完成,属性已绑定,但dom还没生成,$el属性还不存在
  • 当执行钩子函数created时,complier还没有将template解析成render方法,DOM自然不能获取
  • ==结束loading,初始化工作==

运行new Vue()的时候,会进入代码src/core/instance/index.js的Vue构造方法中,并执行this._init()方法。在_init中,会对各个功能进行初始化,并执行beforeCreate和created两个生命周期方法

3. beforeMount

  • 模板编译挂载之前,dom挂载之前

4. mounted

  • 数据和DOM都已被渲染出来
  • ==发起后端请求,拿回数据,异步服务端请求==

5. beforeUpdate

  • 当 data 数据发生变化调用,发生在虚拟 DOM 重新渲染和打补丁之前

6. updated

  • 数据更改导致的虚拟 DOM 重新渲染和打补丁

7. beforeDestroy

  • 在 vue 实例销毁之前调用,此时实例任然可用
  • ==弹出确认删除==

8. destroyed

  • 在 vue 实例销毁之后调用,vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁
  • ==清除相关数据达到资源的有效利用==

activated

  • keep-alive 组件激活时调用
  • ==使用<keep-alive>会将数据保留在内存中,如果要在每次进入页面的时候获取最新的数据,需要在activated阶段获取数据,承担原来created钩子中获取数据的任务==

deactivated

  • 组件被移除时调用

相关文章

网友评论

      本文标题:vue2.0生命周期

      本文链接:https://www.haomeiwen.com/subject/uvzjiqtx.html