千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)

什么是偵聽器?
是Vue提供的一種更通用的方式來觀察和響應(yīng)Vue實(shí)列上的數(shù)據(jù)變動(dòng),在某些情況下,我們希望在代碼邏輯中監(jiān)聽某個(gè)數(shù)據(jù)的變化,這個(gè)時(shí)候就需要用偵聽器watch來完成。
watch監(jiān)聽屬性監(jiān)聽的是data中已經(jīng)存在的變量,只有當(dāng)變量值當(dāng)屬性數(shù)據(jù)發(fā)生變化的時(shí)候,對(duì)應(yīng)屬性的回調(diào)函數(shù)會(huì)自動(dòng)調(diào)用,在函數(shù)內(nèi)部進(jìn)行計(jì)算
通過watch選項(xiàng)或者vm實(shí)例的$watch()來監(jiān)聽指定的屬性
當(dāng)需要在數(shù)據(jù)變化時(shí)執(zhí)行異步或開銷較大的操作時(shí),這時(shí)watch是非常有用的
watch只能監(jiān)聽簡(jiǎn)單數(shù)據(jù)類型,當(dāng)監(jiān)聽對(duì)象、數(shù)組等復(fù)雜數(shù)據(jù)類型時(shí),其中的元素值改變也不會(huì)觸發(fā)watch中監(jiān)聽對(duì)象的方法。
但是可以采用深度監(jiān)聽來監(jiān)聽對(duì)象的變化,設(shè)置deep: true,就可以解決特點(diǎn)3的問題來監(jiān)聽某個(gè)對(duì)象的屬性,但是當(dāng)對(duì)象嵌套的屬性太深時(shí)開銷太大。
標(biāo)簽: