Vue中computed和watch的區(qū)別

計(jì)算屬性 computed

  1. 支持緩存,只有依賴(lài)數(shù)據(jù)發(fā)生改變,才會(huì)重新進(jìn)行計(jì)算
  2. 不支持異步,當(dāng)computed內(nèi)有異步操作時(shí)無(wú)效,無(wú)法監(jiān)聽(tīng)數(shù)據(jù)的變化
  3. computed 屬性值會(huì)默認(rèn)走緩存,計(jì)算屬性是基于它們的響應(yīng)式依賴(lài)進(jìn)行緩存的,也就是基于data中聲明過(guò)或者父組件傳遞的props中的數(shù)據(jù)通過(guò)計(jì)算得到的值
  4. 如果一個(gè)屬性是由其他屬性計(jì)算而來(lái)的,這個(gè)屬性依賴(lài)其他屬性,是一個(gè)多對(duì)一或者一對(duì)一,一般用computed
  5. 如果computed屬性的屬性值是函數(shù),那么默認(rèn)會(huì)走get方法;函數(shù)的返回值就是屬性的屬性值;在computed中的,屬性都有一個(gè)get和一個(gè)set方法,當(dāng)數(shù)據(jù)變化時(shí),調(diào)用set方法。


偵聽(tīng)屬性 watch

  1. 不支持緩存,數(shù)據(jù)變,直接會(huì)觸發(fā)相應(yīng)的操作;
  2. watch支持異步;
  3. 監(jiān)聽(tīng)的函數(shù)接收兩個(gè)參數(shù),第一個(gè)參數(shù)是最新的值;第二個(gè)參數(shù)是輸入之前的值;
  4. 當(dāng)一個(gè)屬性發(fā)生變化時(shí),需要執(zhí)行對(duì)應(yīng)的操作;一對(duì)多;
  5. 監(jiān)聽(tīng)數(shù)據(jù)必須是data中聲明過(guò)或者父組件傳遞過(guò)來(lái)的props中的數(shù)據(jù),當(dāng)數(shù)據(jù)變化時(shí),觸發(fā)其他操作,函數(shù)有兩個(gè)參數(shù),
      immediate:組件加載立即觸發(fā)回調(diào)函數(shù)執(zhí)行,
      deep: 深度監(jiān)聽(tīng),為了發(fā)現(xiàn)對(duì)象內(nèi)部值的變化,復(fù)雜類(lèi)型的數(shù)據(jù)時(shí)使用,例如數(shù)組中的對(duì)象內(nèi)容的改變,注意監(jiān)聽(tīng)數(shù)組的變動(dòng)不需要這么做。注意:deep無(wú)法監(jiān)聽(tīng)到數(shù)組的變動(dòng)和對(duì)象的新增,參考vue數(shù)組變異,只有以響應(yīng)式的方式觸發(fā)才會(huì)被監(jiān)聽(tīng)到。

監(jiān)聽(tīng)的對(duì)象也可以寫(xiě)成字符串的形式



當(dāng)需要在數(shù)據(jù)變化時(shí)執(zhí)行異步或開(kāi)銷(xiāo)較大的操作時(shí),這個(gè)方式是最有用的。這是和computed最大的區(qū)別

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們?cè)?Vue 項(xiàng)目中多多少少都會(huì)有用到 computed 和 watch,這兩個(gè)看似都能實(shí)現(xiàn)對(duì)數(shù)據(jù)的監(jiān)聽(tīng),但還是...
    上海老宅男閱讀 560評(píng)論 0 1
  • 一、計(jì)算屬性computed : 支持緩存,只有依賴(lài)數(shù)據(jù)發(fā)生改變,才會(huì)重新進(jìn)行計(jì)算 不支持異步,當(dāng)computed...
    海之深處愛(ài)之港灣閱讀 251評(píng)論 0 1
  • computed 和 watch 在 Vue 項(xiàng)目中可以說(shuō)是非常常見(jiàn),這兩個(gè)方法看似都能實(shí)現(xiàn)對(duì)數(shù)據(jù)的監(jiān)聽(tīng),那么兩者...
    橙色流年閱讀 3,096評(píng)論 0 4
  • **計(jì)算屬性computed : ** 1. 支持緩存,只有依賴(lài)數(shù)據(jù)發(fā)生改變,才會(huì)重新進(jìn)行計(jì)算 2. 不支持異步,...
    猴逃逃閱讀 205評(píng)論 0 0
  • **計(jì)算屬性computed : ** 1. 支持緩存,只有依賴(lài)數(shù)據(jù)發(fā)生改變,才會(huì)重新進(jìn)行計(jì)算 2. 不支持異步,...
    world_7735閱讀 1,132評(píng)論 0 12

友情鏈接更多精彩內(nèi)容