Vue學習知識點總結

我的糖呢發表於2018-09-11

使用vue已經有一段時間了,在這裡先說一些自己感覺有必要鞏固一下知識查漏補,所以總結的一些vue知識點,vue官網的文件已經非常清楚了,如果有什麼不明白的或錯誤的歡迎大佬們給我留言。

1.vue生命週期

學習和使用vue就離不開vue生命週期,每個 Vue 例項在被建立時都要經過一系列的初始化過程,而生命週期就是在這個過程中執行的一些方法。

下圖是vue生命週期示意圖,在這張圖中我們可以看到在vue的生命週期中的一些方法:

Vue學習知識點總結

當new一個例項的時候vue就會按照這個生命週期進行渲染。

1.1 beforeCreate

beforeCreate (建立前) ---在例項初始化之後,資料觀測 (data observer) 和 event/watcher 事件配置之前被呼叫。

在這個生命週期中可以設定loading動畫或者根據路由資訊進行重定向,使用最多的一個操作就是在獲取路由資訊然後結合Vuex把這些資訊儲存在store中,如果有其他的可以在留言區交流。

Vue學習知識點總結

(Tips:該程式碼結合了nuxt.js、vuex的一些方法。)

1.2 created

created (建立後) --- 在例項建立完成後被立即呼叫。在這一步,例項已完成以下的配置:資料觀測 (data observer),屬性和方法的運算,watch/event 事件回撥。然而,掛載階段還沒開始,$el 屬性目前不可見。

在此生命週期中this.$data可以訪問,能夠直接呼叫methods定義的方法,watcher、events也可以執行;

1.3 beforeMount

beforeMount (載入前)在掛載開始之前被呼叫:相關的 render 函式首次被呼叫。

該鉤子在伺服器端渲染期間不被呼叫。

1.4 mounted

mounted (載入後)el 被新建立的 vm.$el 替換,並掛載到例項上去之後呼叫該鉤子。如果 root 例項掛載了一個文件內元素,當 mounted 被呼叫時 vm.$el 也在文件內。

注意 mounted 不會承諾所有的子元件也都一起被掛載。如果你希望等到整個檢視都渲染完畢,可以用 vm.$nextTick 替換掉 mounted

mounted: function () {
  this.$nextTick(function () {
    // Code that will run only after the
    // entire view has been rendered
  })
}複製程式碼

該鉤子在伺服器端渲染期間不被呼叫。

1.5 beforeUpdate

beforeUpdate (更新前)資料更新時呼叫,發生在虛擬 DOM 打補丁之前。這裡適合在更新之前訪問現有的 DOM,比如手動移除已新增的事件監聽器。

該鉤子在伺服器端渲染期間不被呼叫,因為只有初次渲染會在服務端進行。

1.6 updated

由於資料更改導致的虛擬 DOM 重新渲染和打補丁,在這之後會呼叫該鉤子。

當這個鉤子被呼叫時,元件 DOM 已經更新,所以你現在可以執行依賴於 DOM 的操作。然而在大多數情況下,你應該避免在此期間更改狀態。如果要相應狀態改變,通常最好使用計算屬性watcher 取而代之。

注意 updated 不會承諾所有的子元件也都一起被重繪。如果你希望等到整個檢視都重繪完畢,可以用 vm.$nextTick 替換掉 updated

updated: function () {
  this.$nextTick(function () {
    // Code that will run only after the
    // entire view has been re-rendered
  })
}複製程式碼

該鉤子在伺服器端渲染期間不被呼叫。

1.7 beforeDestroy

beforeDestroy (銷燬前)例項銷燬之前呼叫。在這一步,例項仍然完全可用。

該鉤子在伺服器端渲染期間不被呼叫。

1.8 destroyed

destroyed (銷燬後)Vue 例項銷燬後呼叫。呼叫後,Vue 例項指示的所有東西都會解繫結,所有的事件監聽器會被移除,所有的子例項也會被銷燬。

該鉤子在伺服器端渲染期間不被呼叫。

2.Vue元件間的引數傳遞

2.1父子元件傳值

父元件給子元件傳值:子元件通過props方法接受資料;

子元件給父元件傳值:$emit方法傳遞引數;

Vue學習知識點總結

2.1非父子元件傳值

使用vuex,vuex是一個專為 Vue.js 應用程式開發的狀態管理模式。它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。後續會新增一些vuex的使用方法。


相關文章