因?yàn)閂ue在重新計算之前永遠(yuǎn)不會知道最終結(jié)果是否改變。因此,每當(dāng)其依賴項發(fā)生變化時,計算變數(shù)都會重新計算,這是無法避免的。
常見的誤解是 Vue 透過計算變數(shù)的值來快取計算變量,但實(shí)際上,Vue 透過其依賴項的狀態(tài)來快取計算變數(shù)。
您可以建立一個觀察程式(如您所知)或?qū)⑹褂糜嬎阒档墓?fàn)本包裝到元件中。
為什麼要在這裡包裝到另一個元件幫助?
因?yàn)?Vue 會將你的範(fàn)本轉(zhuǎn)換為渲染函數(shù)。每次其依賴項發(fā)生變化時,該函數(shù)都會重新計算。聽起來有點(diǎn)熟?是的,它的工作原理就像計算變數(shù)。渲染函數(shù)的依賴項是您在模板中使用的所有變數(shù)。因此,如果您將頻繁更改的變數(shù)包裝到一個元件中,Vue 將僅重新渲染該元件,並避免重新渲染您的大元件。這將對你的表現(xiàn)產(chǎn)生很大的影響