zoukankan      html  css  js  c++  java
  • 关于Vue实例的生命周期(2)

     关于Vue实例的生命周期(2)

    创建(create)->挂载(mount)->更新(update)->销毁(destory)

    钩子函数触发事件

    beforeCreate

    在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用。

    created

    实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。

    beforeMount

    在挂载开始之前被调用:相关的 render 函数首次被调用。

    mounted

    el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。

    beforeUpdate

    数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。 你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。

    updated

    由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。

    当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。

    该钩子在服务器端渲染期间不被调用。

    beforeDestroy

    实例销毁之前调用。在这一步,实例仍然完全可用。

    destroyed

    Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。 该钩子在服务器端渲染期间不被调用。

    Vue实例和子组件之间的生命周期

    在Vue中,由于父元素的template模板嵌套了子元素,因此在编译模板时,会先进入到父元素的template,然后层层递归进行子元素的模板编译。
    在创建时,父子组件的生命周期是:
    父组件beforeCreated -> 父组件created -> 父组件beforeMounted -> 子组件beforeCreated -> 子组件created -> 子组件beforeMounted -> 子组件mounted -> 父组件mounted。
    在销毁时,父子组件的生命周期是:
    父组件beforeDestory -> 子组件beforeDestoryed -> 子组件destoryed -> 父组件destoryed

    总之记住,父子组件的生命周期遵循:由外到内,再由内到外

    -------------------------------------------

    个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

    万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!

  • 相关阅读:
    前端学习之jquery
    Http协议
    JavaScript 的简单学习2
    面向对象高级编程(1)-使用__slots__
    面向对象编程(4)-获取对象信息
    面向对象编程(3)-继承和多态
    面向对象编程(2)-访问限制
    面向对象编程(1)-类和实例
    模块(2)-安装第三方模块
    模块(1)-使用模块
  • 原文地址:https://www.cnblogs.com/mahmud/p/10222153.html
Copyright © 2011-2022 走看看