Vue中computed和watch的區(qū)別
1、computed是計(jì)算屬性;watch是監(jiān)聽,監(jiān)聽data中的數(shù)據(jù)變化。
2、computed支持緩存,當(dāng)其依賴的屬性的值發(fā)生變化時(shí),計(jì)算屬性會重新計(jì)算,反之,則使用緩存中的屬性值;watch不支持緩存,當(dāng)對應(yīng)屬性發(fā)生變化的時(shí)候,響應(yīng)執(zhí)行。
3、computed不支持異步,有異步操作時(shí)無法監(jiān)聽數(shù)據(jù)變化;watch支持異步操作。
4、computed第一次加載時(shí)就監(jiān)聽;watch默認(rèn)第一次加載時(shí)不監(jiān)聽。
5、computed中的函數(shù)必須調(diào)用return;watch不是。
6、使用場景:
computed:一個(gè)屬性受到多個(gè)屬性影響,如:購物車商品結(jié)算。
watch:一個(gè)數(shù)據(jù)影響多條數(shù)據(jù),如:搜索數(shù)據(jù)。
數(shù)據(jù)變化響應(yīng),執(zhí)行異步操作,或高性能消耗的操作,watch為最佳選擇。
標(biāo)簽: