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

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

小程序didUpdate

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


vue官網(wǎng)updated

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

watch監(jiān)聽

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


深層監(jiān)聽

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

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

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

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

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