1 回答

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
通俗來講,
computed是在HTML DOM加載后馬上執(zhí)行的,如賦值;
而methods則必須要有一定的觸發(fā)條件才能執(zhí)行,如點(diǎn)擊事件;
watch呢?它用于觀察Vue實(shí)例上的數(shù)據(jù)變動(dòng)。對應(yīng)一個(gè)對象,鍵是觀察表達(dá)式,值是對應(yīng)回調(diào)。值也可以是方法名,或者是對象,包含選項(xiàng)。
所以他們的執(zhí)行順序?yàn)椋耗J(rèn)加載的時(shí)候先computed再watch,不執(zhí)行methods;等觸發(fā)某一事件后,則是:先methods再watch。
下面的例子可以做為說明。
computed 屬性 vs watched 屬性:Vue 確實(shí)提供了一種更通用的方式來觀察和響應(yīng) Vue 實(shí)例上的數(shù)據(jù)變動(dòng):watch 屬性。當(dāng)你有一些數(shù)據(jù)需要隨著其它數(shù)據(jù)變動(dòng)而變動(dòng)時(shí),你很容易濫用 watch——特別是如果你之前使用過 AngularJS。然而,通常更好的想法是使用 computed 屬性而不是命令式的 watch 回調(diào)。
添加回答
舉報(bào)