美文网首页
Vue实践与总结——生命周期

Vue实践与总结——生命周期

作者: xymspace | 来源:发表于2020-06-28 01:03 被阅读0次

    生命周期钩子

    Vue生命周期

    初始化调用的函数:

      new Vue();
      initMixin(Vue);
      stateMixin(Vue);
      eventsMixin(Vue);
      lifecycleMixin(Vue);
      renderMixin(Vue);
    
    • 创建
      beforeCreate()
      在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。初始化阶段,应用不多。
      created()
      在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚不可用。

    • 挂载
      beforeMount()
      在挂载开始之前被调用:相关的 render 函数首次被调用。
      mounted()
      该阶段执行完了模板解析,以及挂载。同时组件根组件元素被赋给了 $el 属性,该阶段可以通过 <u>DOM</u> 操作来对组件内部元素进行处理了。

    • 更新
      beforeUpdate()
      数据更新时调用,但是还没有对视图进行重新渲染,这个时候,可以获取视图更新之前的状态。
      updated()
      由于数据的变更导致的视图重新渲染,可以通过 <u>DOM</u> 操作来获取视图的最新状态。

    • 卸载
      beforeDestory()
      实例销毁之前调用,移除一些不必要的冗余数据,比如定时器。
      destoryed()
      Vue 实例销毁后调用。

    • 其它
      .$nextTick()
      将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。

    updated 有些类似,this.$nextTick() 可以用作局部的数据更新后DOM更新结束后的操作,全局的可以用 updated 生命周期函数。
    errorCaptured()
    当捕获一个来自子孙组件的错误时被调用,此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播。

    生命周期应用

    created:进行ajax请求异步数据的获取、初始化数据

    mounted:挂载元素dom节点的获取

    $nextTick:针对单一事件更新数据后立即操作dom

    updated:任何数据的更新

    相关文章

      网友评论

          本文标题:Vue实践与总结——生命周期

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