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

全國咨詢/投訴熱線:400-618-4000

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

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

好口碑IT培訓

computed計算屬性就是為了簡化template里面模版字符串的計算復雜度、防止模版太過冗余。它具有緩存特性。

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

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

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

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

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

0 分享到:
和我們在線交談!