vue實(shí)戰(zhàn)問(wèn)題1:vue組件beforeUpdate和updated生命周期鉤子不執(zhí)行

? ? ? ? 前段時(shí)間遇到的一個(gè)問(wèn)題,項(xiàng)目是由支付寶小程序移植過(guò)來(lái)的vue項(xiàng)目,將didUpdate更換成了updated,跑起來(lái)后發(fā)現(xiàn)updated生命周期鉤子沒(méi)有執(zhí)行。

小程序didUpdate

? ? ? ? 組件通信使用的就是普通的父子組件的傳值,當(dāng)時(shí)以為是父組件上的數(shù)據(jù)沒(méi)有更新,所以導(dǎo)致updated沒(méi)有執(zhí)行,不過(guò)后來(lái)發(fā)現(xiàn)父組件的值改變了,但是updated沒(méi)有執(zhí)行。找了下官方文檔,發(fā)現(xiàn)文檔中提到了這個(gè)坑。


vue官網(wǎng)updated

? ? ? ? updated可能并不會(huì)執(zhí)行,最好的還是使用計(jì)算屬性或者用watch監(jiān)聽數(shù)據(jù)變化

watch監(jiān)聽

? ? ? ? 以為差不多這樣就可以了,后來(lái)隨著測(cè)試的加深,一般監(jiān)聽時(shí)是不能監(jiān)聽到對(duì)象屬性值的變化的,發(fā)現(xiàn)如果監(jiān)聽的是Object類型的復(fù)雜數(shù)據(jù)類型的話,這樣寫是無(wú)法監(jiān)聽key和value的變化的,需要對(duì)Object類型進(jìn)行深層監(jiān)聽


深層監(jiān)聽

這樣的話,基本上就解決了vue組件beforeUpdate和updated生命周期鉤子不執(zhí)行的問(wèn)題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 使用Vue在日常開發(fā)中會(huì)頻繁接觸和使用生命周期,在官方文檔中是這么解釋生命周期的: 每個(gè) Vue 實(shí)例在被創(chuàng)...
    心_c2a2閱讀 2,391評(píng)論 1 8
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,068評(píng)論 1 52
  • vue概述 在官方文檔中,有一句話對(duì)Vue的定位說(shuō)的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語(yǔ)法來(lái)聲明...
    li4065閱讀 7,627評(píng)論 0 25
  • VUE介紹 Vue的特點(diǎn)構(gòu)建用戶界面,只關(guān)注View層簡(jiǎn)單易學(xué),簡(jiǎn)潔、輕量、快速漸進(jìn)式框架 框架VS庫(kù)庫(kù),是一封裝...
    多多醬_DuoDuo_閱讀 2,861評(píng)論 1 17
  • 不想要工程的Info.plist文件或誤刪之后,新添加一個(gè)plist文件作為Info.plist文件時(shí),工程會(huì)報(bào)一...
    冰land閱讀 512評(píng)論 0 0

友情鏈接更多精彩內(nèi)容