教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Vue中computed 和watch 的區(qū)別是什么?

更新時(shí)間:2023年09月19日11時(shí)59分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

computed計(jì)算屬性就是為了簡(jiǎn)化template里面模版字符串的計(jì)算復(fù)雜度、防止模版太過(guò)冗余。它具有緩存特性。

omputed用來(lái)監(jiān)控自己定義的變量,該變量不在data里面聲明,直接在computed里面定義,然后就可以在頁(yè)面上進(jìn)行雙向數(shù)據(jù)綁定展示出結(jié)果或者用作其他處理;

watch主要用于監(jiān)控vue實(shí)例的變化,它監(jiān)控的變量當(dāng)然必須在data里面聲明才可以,它可以監(jiān)控一個(gè)變量,也可以是一個(gè)對(duì)象,一般用于監(jiān)控路由、input輸入框的值特殊處理等等,它比較適合的場(chǎng)景是一個(gè)數(shù)據(jù)影響多個(gè)數(shù)據(jù),它不具有緩存性。

watch:監(jiān)測(cè)的是屬性值,只要屬性值發(fā)生變化,其都會(huì)觸發(fā)執(zhí)行回調(diào)函數(shù)來(lái)執(zhí)行一系列操作。

computed:監(jiān)測(cè)的是依賴值,依賴值不變的情況下其會(huì)直接讀取緩存進(jìn)行復(fù)用,變化的情況下才會(huì)重新計(jì)算。

除此之外,有點(diǎn)很重要的區(qū)別是:計(jì)算屬性不能執(zhí)行異步任務(wù),計(jì)算屬性必須同步執(zhí)行。也就是說(shuō)計(jì)算屬性不能向服務(wù)器請(qǐng)求或者執(zhí)行異步任務(wù)。如果遇到異步任務(wù),就交給偵聽(tīng)屬性。watch也可以檢測(cè) computed屬性。

0 分享到:
和我們?cè)诰€交談!