亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Vuejs 生命周期

標簽:
Vue.js

每个 Vue 实例在被创建时都要经过一系列的初始化过程。如需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

一个 Vue 实例

我们创建一个 Vue 实例,并在每个阶段验证 Vue 的生命周期函数。

Vue 实例的生命周期函数并不放置在 methods里,而是单独放置在 Vue 的实例之中。

<!DOCTYPE html><html lang="en"><head>
  <meta charset="UTF-8">
  <title>Vue实例生命周期函数</title>
  <script src='./vue.js'></script></head><body>
  <div id="app"></div>

  <script>

    //生命周期函数就是Vue实例在某一个时间点会自动执行的函数
    var vm = new Vue({      el: "#app",      template: "<div>{{test}}</div>",      data: {        test: "hello world"
      },      // Vue初始化
      beforeCreate: function(){        console.log('beforeCreate')
      },      created: function(){        console.log('created')
      },      //页面渲染之前 挂载之前的时间点
      beforeMount: function(){        console.log('beforeMount')        console.log(this.$el)
      },      // 挂载到页面之后
      mounted: function(){        console.log('mounted')        console.log(this.$el)
      },      //当数据发生改变的时候 执行
      beforeUpdate: function(){        console.log('beforeUpdate')
      },      updated: function(){        console.log('updated')
      },      // vm.$destroy()被called的时候触发
      beforeDestroy: function(){        console.log('beforeDestroy')
      },      destroyed: function(){        console.log('destroyed')
      }

    })  </script></body></html>


生命周期函数

生命周期函数就是Vue实例在某一个时间点会自动执行的函数

  • Vue 初始化:beforeCreatecreated

  • 页面渲染之前:beforeMount

  • 挂载到页面之后:mounted

webp

  • 当数据发生改变时:beforeDestroy(重新渲染之前) 、destroyed(重新渲染之后)

webp

  • vm.$destroy()被调用时,即组件被销毁时:beforeDestroydestroyed

webp


生命周期图

下图展示了 Vue 实例的声明周期,结合上一节的示例,可以更好的理解 Vue 的这八个声明周期钩子。


webp




其他

除此之外 Vue 还拥有 activateddeactivatederrorCaptured 这三个生命周期钩子。

activated

当页面重新显示的时候,执行。搭配 keep-alivelocalStrage 和临时变量做页面性能优化。

deactivated

当页面即将被隐藏或替换成其他页面时,执行。可以用来解绑在 activated 上绑定的全局事件。



作者:evenyao
链接:https://www.jianshu.com/p/c8a7306aa844


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消