真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Vue組件和Route生命周期的示例分析

這篇文章主要為大家展示了“Vue組件和Route生命周期的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Vue組件和Route生命周期的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的林周網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

先講點(diǎn)實(shí)際的

實(shí)用點(diǎn)的鉤子:

Created:vue實(shí)例被生成后的一個(gè)生命周期鉤子函數(shù)。(頁面初始化數(shù)據(jù)加載一般寫這里);
beforeCreate:給個(gè)loading界面 created撤銷loading;
beforeDestory:你確認(rèn)刪除XX嗎?
destoryed:當(dāng)前組件已被刪除,清空相關(guān)內(nèi)容

關(guān)于Vue組件生命周期,翻譯后圖示:

Vue組件和Route生命周期的示例分析

module.exports = { 
    //props: ['父組建傳的值'], 
    data:function(){ 
      lifecycle.push("data"); 
      return { 
        msg: '各個(gè)階段,可以查看控制臺(tái)輸出,message from my-views', 
        title:'my_views', 
        lifecycle: lifecycle 
      } 
    }, 
    //這里是route的生存周期 
    route:{ 
      //waitForData: true, // 數(shù)據(jù)加載完畢后再切換試圖,也就是 點(diǎn)擊之后先沒反應(yīng),然后數(shù)據(jù)加載完,再出發(fā)過渡效果 
      canActivate:function(transition){ 
        // canActivate階段,可以做一些用戶驗(yàn)證的事情(是否可以被激活) 
        // 在驗(yàn)證階段,當(dāng)一個(gè)組件將要被切入的時(shí)候被調(diào)用。 
      }, 
      activate:function(transition){ 
                // 在激活階段被調(diào)用,在 activate 被斷定( resolved ,指該函數(shù)返回的 promise 被 resolve )。用于加載和設(shè)置當(dāng)前組件的數(shù)據(jù)。(激活) 
        //this.$root.$set('header',this.title); 
        transition.next(); 
        //此方法結(jié)束后,api會(huì)調(diào)用afterActivate 方法 
        //在aftefActivate中 會(huì)給組件添加 $loadingRouteData 屬性 并設(shè)置為true 
      }, 
      data: function(transition) { 
        var _this = this; 
        // 在激活階段被調(diào)用,在 activate 被斷定( resolved ,指該函數(shù)返回的 promise 被 resolve )。用于加載和設(shè)置當(dāng)前組件的數(shù)據(jù) 
        // 說明之前請(qǐng)求過 則不用再請(qǐng)求了 
        if(this.$root.myViewsData){ 
          this.$data = this.$root.myViewsData; 
          transition.next(); 
          console.log('已經(jīng)請(qǐng)求過了不再請(qǐng)求數(shù)據(jù)'); 
          return; 
        } 
        //將數(shù)據(jù)同步到根節(jié)點(diǎn) 
        this.$root.myViewsData = this.$data; 
        setTimeout(function(){ 
          //這里 _this.$loadingRouteData 是 true 
          transition.next({msg:'加載后的數(shù)據(jù)'}); 
          //在調(diào)用完transition.next 后,_this.$loadingRouteData 為 false 
        }.bind(this),4000); 
      }, 
      canDeactivate:function(transition){ 
        // 在驗(yàn)證階段,當(dāng)一個(gè)組件將要被切出的時(shí)候被調(diào)用。(是否可以被禁用) 
      }, 
      deactivate: function (transition) { 
        // 在激活階段,當(dāng)一個(gè)組件將要被禁用和移除之時(shí)被調(diào)用。(禁用) 
      } 
    }, 
    beforeCreate:function(){ 
      // 在實(shí)例初始化之后,數(shù)據(jù)觀測(cè)(data observer) 和 event/watcher 事件配置之前被調(diào)用。 
    }, 
    created:function(){ 
      // 實(shí)例已經(jīng)創(chuàng)建完成之后被調(diào)用。在這一步,實(shí)例已完成以下的配置:數(shù)據(jù)觀測(cè)(data observer),屬性和方法的運(yùn)算, watch/event 事件回調(diào)。然而,掛載階段還沒開始,$el 屬性目前不可見。 
    }, 
    beforeCreate:function(){ 
      // 在實(shí)例初始化之后,數(shù)據(jù)觀測(cè)(data observer) 和 event/watcher 事件配置之前被調(diào)用。 
    }, 
    mounted:function(){ 
      // el 被新創(chuàng)建的 vm.$el 替換,并掛載到實(shí)例上去之后調(diào)用該鉤子。如果 root 實(shí)例掛載了一個(gè)文檔內(nèi)元素,當(dāng) mounted 被調(diào)用時(shí) vm.$el 也在文檔內(nèi)。 
    }, 
    beforeUpdate: function(){ 
      // 數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬 DOM 重新渲染和打補(bǔ)丁之前。  
      // 你可以在這個(gè)鉤子中進(jìn)一步地更改狀態(tài),這不會(huì)觸發(fā)附加的重渲染過程。 
    }, 
    updated: function(){ 
      // 由于數(shù)據(jù)更改導(dǎo)致的虛擬 DOM 重新渲染和打補(bǔ)丁,在這之后會(huì)調(diào)用該鉤子。 
      //當(dāng)這個(gè)鉤子被調(diào)用時(shí),組件 DOM 已經(jīng)更新,所以你現(xiàn)在可以執(zhí)行依賴于 DOM 的操作。然而在大多數(shù)情況下,你應(yīng)該避免在此期間更改狀態(tài),因?yàn)檫@可能會(huì)導(dǎo)致更新無限循環(huán)。 
    }, 
    //  包裹動(dòng)態(tài)組件時(shí),會(huì)緩存不活動(dòng)的組件實(shí)例,而不是銷毀它們。 
    activated: function(){ 
      // keep-alive 組件激活時(shí)調(diào)用。 
    }, 
    deactivated: function(){ 
      // keep-alive 組件停用時(shí)調(diào)用。 
    }, 
    beforeDestroy:function(){ 
      // 實(shí)例銷毀之前調(diào)用。在這一步,實(shí)例仍然完全可用。 
    }, 
    destroyed:function(){ 
      // Vue 實(shí)例銷毀后調(diào)用。調(diào)用后,Vue 實(shí)例指示的所有東西都會(huì)解綁定,所有的事件監(jiān)聽器會(huì)被移除,所有的子實(shí)例也會(huì)被銷毀。 
    } 
  }

以上是“Vue組件和Route生命周期的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁名稱:Vue組件和Route生命周期的示例分析
轉(zhuǎn)載來于:http://weahome.cn/article/jsgeoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部