Vue.js系列:生命周期鉤子

var v1 = new Vue({

el: "#div1",

data: {

hello_message: "Hello, there welcome to VueJS world",

div_title: "This is my intro div",

},

beforeCreate: function(){

alert('Before Create');

},

created: function(){

alert('Created');

},

beforeMount: function(){

alert('Before Mount');

},

mounted: function(){

alert('Mounted');

},

beforeUpdate: function(){

alert('Before Update');

},

updated: function(){

alert('Updated');

},

beforeDestroy: function(){

alert('Before Destroy');

},

destroyed: function(){

alert('Destroyed');

}

});

// To fire update

v1.$data.hello_message = "New message";

// This can be invoked to destroy the object, which will fire the destroy hook

//v1.$destroy();

beforeCreate(新對象誕生)

Vue對象用新方法實例化。它創建一個Vue類的對象來處理DOM元素。對象的這個生命階段可以通過beforeCreated 掛鉤來訪問 。我們可以在這個鉤子中插入我們的代碼,在對象初始化之前執行。

Vue.js系列:生命週期鉤子

創建(具有默認特性的對象)

在這個生命階段,對象及其事件完全初始化。 created 是訪問這個階段並編寫代碼的鉤子。

Vue.js系列:生命週期鉤子

beforeMounted(對象在DOM中適合形狀)

這個鉤子被調用 beforeMounted。在這個階段,它檢查是否有任何模板可用於要在DOM中呈現的對象。如果沒有找到模板,那麼它將所定義元素的外部HTML視為模板。

Vue.js系列:生命週期鉤子

已安裝(DOM已準備就緒並放置在頁面內)

一旦模板準備就緒。它將數據放入模板並創建可呈現元素。用這個新的數據填充元素替換DOM元素。這一切都發生在mounted鉤子上。

Vue.js系列:生命週期鉤子

beforeUpdate(更改已完成,但尚未準備好更新DOM)

在外部事件/用戶輸入beforeUpdate發生更改時,此鉤子即 在反映原始DOM元素的更改之前被觸發。

為了解決這個問題 beforeUpdated,我添加了下面的代碼。它通過更新DOM來更改運行時中的hello_message。

// To fire update

v1.$data.hello_message = "New message";

Vue.js系列:生命週期鉤子

更新(在DOM中呈現的更改)

然後,通過實際更新DOM對象並觸發updated,屏幕上的變化得到呈現 。

Vue.js系列:生命週期鉤子

beforeDestroy(對象準備死掉)

就在Vue對象被破壞並從內存中釋放之前, deforeDestroy 鉤子被觸發,並允許我們在其中處理我們的自定義代碼。

為了激發這個鉤子,我添加了下面的代碼來銷燬Vue對象。

//這可以被調用來銷燬該對象,這將觸發銷燬鉤

v1.$ destroy();

Vue.js系列:生命週期鉤子

銷燬(對象停止並從內存中刪除)

該 destroyed 鉤子被成功運行銷燬對象上調用。

Vue.js系列:生命週期鉤子

概要

我們可以使用生命週期鉤子在Vue對象生命週期的不同階段添加我們的自定義代碼。它將幫助我們控制在DOM中創建對象時創建的流程,以及更新和刪除對象。


分享到:


相關文章: