<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 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.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.sdgs6788.com

          存檔

          久久丫精品国产亚洲av| 欧美一级久久久久久久大片| 中文精品久久久久人妻| 久久996热精品xxxx| 久久亚洲欧美日本精品| 69SEX久久精品国产麻豆| 99久久免费国产精品热| 久久国产精品无码HDAV | 色综合久久综合中文综合网| 一97日本道伊人久久综合影院| 久久综合久久鬼色| 日韩人妻无码一区二区三区久久99| 少妇久久久久久被弄到高潮| 久久人人爽人人爽人人av东京热| 久久久噜噜噜久久中文字幕色伊伊| 久久久久久久91精品免费观看| 久久久久波多野结衣高潮| 99精品国产99久久久久久97| 久久久噜噜噜久久中文字幕色伊伊 | 久久青青草原亚洲av无码app | 久久亚洲熟女cc98cm| 久久久无码人妻精品无码| a级成人毛片久久| 国产综合成人久久大片91| 久久天天婷婷五月俺也去| 激情伊人五月天久久综合| 激情久久久久久久久久| 模特私拍国产精品久久| 国产精品18久久久久久vr| 久久久久久无码国产精品中文字幕 | 久久久噜噜噜www成人网| 精品久久一区二区| 久久综合久久综合亚洲| 91久久精品91久久性色| 亚洲欧洲精品成人久久曰影片 | 亚洲国产成人久久精品99| 久久人人爽人人爽人人AV东京热| 久久久久无码精品国产app| 天堂久久天堂AV色综合| 无码任你躁久久久久久久| 亚洲乱亚洲乱淫久久|