Vue.js 的實例中可以定義 computed(計算屬性)
、methods(方法)
和 watch(偵聽)
3個屬性甩恼。在很多情況下护戳,這3個屬性都能完成同一個任務(wù)(例如輸入一串字符串代嗤,然后把它反轉(zhuǎn)輸出),下面對這3個屬性稍微深挖一層缭付。
-
computed
- 會把輸出結(jié)果緩存起來,只有當(dāng)其內(nèi)部的依賴數(shù)據(jù)(data 中的數(shù)據(jù))改變時才會改變循未。適用于比較費時的數(shù)據(jù)計算 -
methods
- 只要實例被更新陷猫,都會被觸發(fā)執(zhí)行,適用于需要實時性的數(shù)據(jù) -
watch
- 偵聽 data 中數(shù)據(jù)的變化的妖,在方法中會傳入 newVal 和 oldVal绣檬。可用于 輸入值無效嫂粟、提供中間值 等場景娇未。不過這個屬性還是有一定深度的,可以參看官方的文檔星虹。