Vue 生命周期( created、mounted、methods、computed、watched)


生命周期:

  beforecreate :

  一般使用場景是在加 loading事件 的時候


  created :

  處於loading結束后,還做一些初始化,實現函數自執行(data數據已經初始化,但是DOM結構渲染完成,組件沒有加載)


  beforemount :

  處於組件創建完成,但未開始執行操作


  mounted :

  處於發起后端請求,獲取數據,配合路由鈎子執行操作(DOM渲染完成,組件掛載完成 )


  beforeupdate、updated :

  處於數據更新的前后


  beforeDestroy :

  當前組件還在的時候,想刪除組件


  destroyed :

  當前組件已被銷毀,清空相關內容

 

created 與 mounted 的區別

  created :

  在模板渲染成html前調用,即通常初始化某些屬性值,然后再渲染成視圖。


  mounted :

  在模板渲染成html后調用,通常是初始化頁面完成后,再對html的dom節點進行一些需要的操作。

 

mounted 與 methods 的區別

  mounted :

  是生命周期方法之一,會在對應生命周期時執行。

 

  methods :

  是Vue實例對象上綁定的方法,供當前Vue組件作用域內使用,未調用不會執行,只執行邏輯,返回值可有可無。

 

computed 與 watched 的區別

  computed : 

  是計算屬性,也可以理解為一個方法。其中計算的結果如果不發生改變就不會觸發,且必須返回一個值並在DOM中綁定的才能取得值。他可以自動獲取數據的改變。

 

  watched :

  屬性是手動定義的所需監聽的值,不同的數據可以在其中多次定義監聽值,這時會消耗一定性能,他並不能像computed那樣自動改變。

 

 

  <script>
    let vm=new Vue({
      el:"#app",
      data:{
        name:"onceweb"
      },
      beforeCreate(){
        console.log("創建之前")
        console.log(this.$el)
        console.log(this.$data)
      },
      created(){
        console.log("成功創建")
        console.log(this.$el)
        console.log(this.$data)
      },
      beforeMount(){
        console.log("掛載之前")
        console.log(this.$el)
        console.log(this.$data)
      },
      mounted(){
        console.log("成功掛載")
        console.log(this.$el)
        console.log(this.$data)
      },
      beforeUpdate(){
        console.log("更新之前")
        let name = this.$refs.app.innerHTML
        console.log('name:'+name)
      },
      updated(){
        console.log("成功更新")
        let name = this.$refs.app.innerHTML
        console.log('name:'+name)
      },
      beforeDestory(){
        console.log("銷毀之前")
      },
      destoryed(){
        console.log("成功銷毀")
      }
    });
  </script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM