• <center id="sm46c"></center>
  • <dfn id="sm46c"></dfn>
  • <strike id="sm46c"></strike>
  • <cite id="sm46c"><source id="sm46c"></source></cite>
    • <strike id="sm46c"><source id="sm46c"></source></strike>
      <option id="sm46c"></option>
      国产精品天天看天天狠,女高中生强奷系列在线播放,久久无码免费的a毛片大全,国产日韩综合av在线,亚洲国产中文综合专区在,特殊重囗味sm在线观看无码,中文字幕一区二区三区四区在线,无码任你躁久久久久久老妇蜜桃

      vue生命周期鉤子函數(11個)

      2018-7-11    seo達人

      如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

      說一下vue的聲明周期:

      vue 的生命周期11個鉤子函數是按照以下的順序來的 :(不可逆轉哦,第11個除外) 
      一. 組件創建前后

      1.beforeCreate
      2.created
          
      • 1
      • 2

      如,寫一個子組件,然后掛在到父組件,在子組件中,console.log 子組件中的

      data(){ return { a:1 },
          beforeCreate(){
              console.log(this.a)//undefined },
          created(){
              console.log(this.a)//1 }
      }
          
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11


      .


      二. vue啟動前后

      3.beforeMount 4.mounted
          
      • 1
      • 2

      這兩個的意思就是, 
      vue在beforeMount時,還不管事,也就是說,還沒有渲染數據到<div id="app"><div/>里面,此時的這個組件還是空的

      mounted時,才會往<div id="app"><div/> 添加東西,也就是vue正式 
      接管<div id="app"><div/>

      可以獲取#app的innerHTML查看差異;

      beforeMount(){ console.log(document.getElementById('app').innerHTML)//空的
      },
      mounted(){ console.log(document.getElementById('app').innerHTML)//#app里的內容 }
          
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6


      .


      三. 組件更新前后

      5.beforeUpdate 6.updated
          
      • 1
      • 2

      這個就不用我多說了吧?當子組件里面的 視圖改變 的時候觸發。 
      如,做一個按鈕,讓data里面的a++,假如 一開始a是1 
      beforeUpdate返回1 
      updated返回2

      beforeUpdate(){
          console.log(document.getElementById('a').innerHTML)//1 },
      updated(){
          console.log(document.getElementById('a').innerHTML)//2 }
          
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      再點一次 
      beforeUpdate返回2 
      updated返回3。。。 

      .


      四. 組件銷毀前后(一般配合v-if使用)

      7.beforeDestroy
      8.destroyed
          
      • 1
      • 2

      給這個子組件用v-if來控制它的銷毀和創建,注意以下:v-show不行。 
      子組件銷毀前觸發beforeDestroy 
      子組件銷毀后觸發destroyed 
      第一次會觸發7.8. 
      創建子組件后會觸發以上的第1.2.3.4.鉤子函數。

      有一個問題,如果我們在子組件里寫一個定時器,然后,子組件被銷毀了,定時器還會執行嗎? 
      答案是會的 
      所以這時候就會用到了destroyed,在組件被銷毀后,我們把定時器給清除就好了。

      所以這兩個鉤子函數一般用于做性能的優化。 

      .


      五. 組件激活時,未激活時

      9.activated
      10.deactivated
          
      • 1
      • 2

      這兩個鉤子函數呢一般配合<keep-alive><keep-alive/>來使用。 
      通過看 四。這個例子,你肯定知道了一個組件怎么被銷毀和創建。 
      但是我們知道通常一個組件是很大的,如果我們總是一直創建、銷毀、創建、銷毀。。。這樣很不合理,而且很浪費性能。。。

      這時候我們就可以用<keep-alive><keep-alive/>配合著兩個鉤子函數來控制組件的激活和不激活。

      說一下<keep-alive><keep-alive/>,它就相當于把你的組件給緩存下來了,目的呢就是不讓組件重復的渲染,然后我們通過v-if觸發,子組件就不會再觸發7 和 8 了,而是只會頻繁的觸發9 和 10 
      這樣性能會比7 和 8 好的多。 

      .


      六. 當捕獲一個來自子孫組件的錯誤時被調用

      11.errorCaptured
          
      • 1

      當子孫組件報錯的時候,父組件會觸發這個鉤子函數,并且會返回三個參數, 
      第一個參數是 錯誤對象 
      第二個參數是 報錯的子孫組件 
      第三個參數是 報錯的子孫組件的具體哪個地方報錯。(如,假如我沒有定義b這個變量,但是我去console.log(b) 這一句肯定會報錯,假如我把這句錯誤代碼寫在了created這個鉤子函數里,那第三個參數會返回就是:created hook

      具體第11個沒深入研究,喜歡的可以去看下官網的 errorCaptured

      藍藍設計www.li-bodun.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務


      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://www.li-bodun.cn

      存檔

      主站蜘蛛池模板: 亚洲一区二区三区啪啪| 最新国产麻豆aⅴ精品无码| 香蕉精品在线| www.-级毛片线天内射视视| 欧美乱人伦中文字幕在线| 久久99精品国产麻豆婷婷洗澡| 成人亚欧欧美激情在线观看 | av无码东京热亚洲男人的天堂| 老熟妇仑乱换频一区二区| 无码精品色午夜| 丁香五月婷激情综合第九色 | 中文字幕人妻中文| 国产一区二区三区国产视频| 青青草无码免费一二三区| 欧美老熟妇又粗又大| 国产精品区视频中文字幕| 日韩蜜桃AV无码中文字幕不卡高清一区二区 | 国产精品午夜福利导航导| 国产高清精品自在线看| 免费A级毛片樱桃视频| 亚洲愉拍自拍欧美精品| 国产乱xxxxx97国语对白| 青青热在线精品视频免费观看| 成安县| 亚洲av熟女国产一二三| 国产成人无码av片在线观看不卡| 国产高清乱码女大生av| 亚洲成a人片在线观看88| 成年女人永久免费观看视频| 罗源县| 欧美日韩va| 亚洲理论在线A中文字幕| 中文字幕无码免费久久99| 99久久免费只有精品国产| 久久久无码精品一区二区三区蜜桃| 亚洲精品第一页中文字幕| 国内精品久久久久鸭| 香蕉久久国产av一区二区| 精品亚洲国产探花在线播放| 四虎影视永久无码精品| 欧洲熟妇色自偷自拍另类|