美文网首页
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