欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue生命周期實(shí)例小結(jié)

 更新時(shí)間:2018年08月15日 10:31:42   作者:HarryClaire  
這篇文章主要介紹了vue生命周期,結(jié)合實(shí)例形式分析了vue.js生命周期相關(guān)原理、步驟、函數(shù)與操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例分析了vue生命周期。分享給大家供大家參考,具體如下:

每個(gè)Vue實(shí)例都存在完整的生命周期,經(jīng)歷從創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染→更新→渲染、銷毀等一系列過(guò)程。如下圖所示

鉤子函數(shù)

vue的完整生命周期可分為三個(gè)階段:初始化階段、運(yùn)行階段和銷毀階段。共存在很多鉤子函數(shù),他們?cè)趘ue生命周期不同的階段進(jìn)行操作,列舉如下:

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestroy
  • destroyed

鉤子函數(shù)說(shuō)明

  • beforeCreate

通過(guò)new Vue() 創(chuàng)建vue實(shí)例,vue的生命周期便拉開(kāi)了序幕,首先會(huì)執(zhí)行beforeCreate鉤子函數(shù)。此時(shí)的vue實(shí)例只是一個(gè)空殼,還未掛載DOM元素,無(wú)法訪問(wèn)到數(shù)據(jù)和真實(shí)的dom,一般不做操作。

  • created

這個(gè)時(shí)候已經(jīng)可以使用到數(shù)據(jù),也可以更改數(shù)據(jù),在這里更改數(shù)據(jù)不會(huì)觸發(fā)updated函數(shù)和不會(huì)觸發(fā)其他鉤子函數(shù),一般可以在這里做初始數(shù)據(jù)的獲取。

  • beforeMount

在這個(gè)函數(shù)中虛擬dom已經(jīng)創(chuàng)建完成(馬上就要渲染),這里也可以更改數(shù)據(jù),不會(huì)觸發(fā)updated,在這里可以在渲染前最后一次更改數(shù)據(jù)的機(jī)會(huì),不會(huì)觸發(fā)其他的鉤子函數(shù)。

  • mounted

在這個(gè)函數(shù)調(diào)用時(shí),組件已經(jīng)出現(xiàn)在頁(yè)面中,數(shù)據(jù)、真實(shí)dom都已經(jīng)處理好了,事件都已經(jīng)掛載好了,可以在這里操作真實(shí)dom等事情。

  • beforeUpdate

當(dāng)組件或?qū)嵗臄?shù)據(jù)更改之后,會(huì)立即執(zhí)行beforeUpdate,然后vue的虛擬dom機(jī)制會(huì)重新構(gòu)建虛擬dom與上一次的虛擬dom樹(shù)利用diff算法進(jìn)行對(duì)比之后重新渲染。

  • updated

當(dāng)更新完成后,執(zhí)行updated,數(shù)據(jù)已經(jīng)更改完成,dom也重新render完成,可以操作更新后的虛擬dom。

  • beforeDestroy

當(dāng)通過(guò)某種方式調(diào)用$destroy方法后,立即執(zhí)行beforeDestroy函數(shù)做一些善后工作,如清除計(jì)時(shí)器、清除非指令綁定的事件等。

  • destroyed

組件的數(shù)據(jù)綁定、監(jiān)聽(tīng)等去掉后只剩下dom空殼,此時(shí)執(zhí)行destroyed。當(dāng)然,也可以在這里完成上述操作。

vue的生命周期:從出生到加載 到 銷毀 有一套完整的生命周期過(guò)程
能夠讓我們進(jìn)行在不同時(shí)期去寫不同的代碼 去做不同的事情

鉤子函數(shù):就是不同的生命周期 vue給我們暴露出來(lái)的 回調(diào)函數(shù)

示例:

var vn = new Vue({
el:'.box',
data:{
msg:'<h1>呵呵</h1>'
},
beforeCreate:function() {
alert("實(shí)例要?jiǎng)?chuàng)建了,要開(kāi)始表演了");
},
created:function() {
alert('vue實(shí)例已經(jīng)new出來(lái)了,方法和屬性還沒(méi)有編譯');
},
beforeMount:function() {
alert('vue實(shí)例已經(jīng)創(chuàng)建完成,馬上要執(zhí)行內(nèi)部屬性和方法的編譯');
},
mounted:function() {
alert('對(duì)象和屬性已經(jīng)編譯完成');
},
beforeUpdate:function() {
alert('數(shù)據(jù)馬上更新,沒(méi)保存趕緊保存');
},
updated:function() {
alert('數(shù)據(jù)已經(jīng)更新');
},
beforeDestroy:function() {
alert('vue實(shí)例已經(jīng)走到盡頭了');
},
destroyed:function() {
alert("vue實(shí)例永遠(yuǎn)活在我們心中!!!");
}
})

希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • vue-cli開(kāi)發(fā)時(shí),關(guān)于ajax跨域的解決方法(推薦)

    vue-cli開(kāi)發(fā)時(shí),關(guān)于ajax跨域的解決方法(推薦)

    下面小編就為大家分享一篇vue-cli開(kāi)發(fā)時(shí),關(guān)于ajax跨域的解決方法(推薦),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vue實(shí)現(xiàn)導(dǎo)出excel的多種方式總結(jié)

    vue實(shí)現(xiàn)導(dǎo)出excel的多種方式總結(jié)

    在Vue中實(shí)現(xiàn)導(dǎo)出Excel有多種方式,可以通過(guò)前端實(shí)現(xiàn),也可以通過(guò)前后端配合實(shí)現(xiàn),這篇文章將為大家詳細(xì)介紹幾種常用的實(shí)現(xiàn)方式,需要的可以參考下
    2023-08-08
  • vue移動(dòng)端實(shí)現(xiàn)手指滑動(dòng)效果

    vue移動(dòng)端實(shí)現(xiàn)手指滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了vue移動(dòng)端實(shí)現(xiàn)手指滑動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Vue-router路由判斷頁(yè)面未登錄跳轉(zhuǎn)到登錄頁(yè)面的實(shí)例

    Vue-router路由判斷頁(yè)面未登錄跳轉(zhuǎn)到登錄頁(yè)面的實(shí)例

    下面小編就為大家?guī)?lái)一篇Vue-router路由判斷頁(yè)面未登錄跳轉(zhuǎn)到登錄頁(yè)面的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 使用Vuex實(shí)現(xiàn)一個(gè)筆記應(yīng)用的方法

    使用Vuex實(shí)現(xiàn)一個(gè)筆記應(yīng)用的方法

    這篇文章主要介紹了使用Vuex實(shí)現(xiàn)一個(gè)筆記應(yīng)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue項(xiàng)目實(shí)戰(zhàn)之優(yōu)雅使用axios

    vue項(xiàng)目實(shí)戰(zhàn)之優(yōu)雅使用axios

    axios是一個(gè)基于promise的HTTP庫(kù),可以用在瀏覽器和?node.js?中,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目實(shí)戰(zhàn)之優(yōu)雅使用axios的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Vue2 Watch監(jiān)聽(tīng)操作方法

    Vue2 Watch監(jiān)聽(tīng)操作方法

    這篇文章主要介紹了Vue2 Watch監(jiān)聽(tīng),通過(guò)watch監(jiān)聽(tīng)器,我們可以實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的變化,并且在數(shù)據(jù)發(fā)生改變時(shí)進(jìn)行相應(yīng)的操作,需要的朋友可以參考下
    2023-12-12
  • vscode中開(kāi)發(fā)運(yùn)行uniapp項(xiàng)目詳細(xì)步驟

    vscode中開(kāi)發(fā)運(yùn)行uniapp項(xiàng)目詳細(xì)步驟

    VSCode作為一個(gè)非常強(qiáng)大的代碼編輯器,可以集成眾多的插件和工具來(lái)優(yōu)化開(kāi)發(fā)效率,這篇文章主要給大家介紹了關(guān)于vscode中開(kāi)發(fā)運(yùn)行uniapp項(xiàng)目的詳細(xì)步驟,需要的朋友可以參考下
    2023-07-07
  • vue2使用element-ui,el-table不顯示,用npm安裝方式

    vue2使用element-ui,el-table不顯示,用npm安裝方式

    這篇文章主要介紹了vue2使用element-ui,el-table不顯示,用npm安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 淺談vue3中effect與computed的親密關(guān)系

    淺談vue3中effect與computed的親密關(guān)系

    這篇文章主要介紹了淺談vue3中effect與computed的親密關(guān)系,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論