如何使用 vue + typescript 編寫頁面 (Vue生命週期函式)

董輝輝發表於2019-02-19

每一個mvvm框架,生態週期顯得格外重要,vue有哪些生態函式,可以看一下,和使用方式

Vue生命週期函式簡單羅列

詳細解答可以參照 選項 / 生命週期鉤子

1. beforeCreate

模組建立之前,this指向的為物件本身,並沒有任何實際操作

2. created

所有的getters,data,等等被觀測完成,此時可以獲取到data內容

3. beforeMount

檢測是不是有el相關的內容,如果沒有則停止向下執行,直到vm.$mount(el)掛載上真實元素 此時已經可以獲取到被建立的 this.$el

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

3.1 render

在Vue中,還有一個render函式,用來渲染頁面。但是Component是沒有的

<div id="app">
    html 模板
</div>
<script>
new Vue({
    el:"#app",
    template:"template模板",
    render(r){ r('h1','函式渲染模板')  }
})
</script>
複製程式碼

render函式選項 > template選項 > html模板.

4. mounted

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

頁面模板解析完成後,此時一切準備就緒,但是並不能一定保證所有的子元件被掛載到頁面上,如果此時需要用到dom元素的內容時,最好使用this.$nextTick()

5. activated

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

這個周期函式是引入vue-router後,啟用<keep-alive>時,進入頁面路由對映的元件時觸發

6. beforeUpdate

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

當data資料被修改後,虛擬dom更新實際dom前呼叫

7. updated

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

頁面dom替換完成後呼叫

8. deactivated

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

路由離開當前頁面前呼叫

9. beforeDestroy

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

元件被銷燬前呼叫

10. destroyed

該鉤子在伺服器端渲染期間不被呼叫 元件銷燬後呼叫

11. errorCaptured

攔截子元件的錯誤 return false阻止繼續冒泡

上一章 如何使用 vue + typescript 編寫頁面 ( vuex裝飾器補充部分--store裝飾器 )

相關文章