淄博阎囤工贸有限公司

前端經(jīng)典面試題 | Computed 和 Watch 的區(qū)別

2023-1-12    前端達(dá)人

目錄

一、回答點

二、深入回答

Computed:

Watch:

應(yīng)用場景:


一、回答點

computed計算屬性: 依賴其他的值,有緩存, 當(dāng)它依賴的屬性值發(fā)生改變,在下次獲取computed的值時,才會重新計算computed值,而watch監(jiān)聽器,更多的是起到監(jiān)聽的作用,它沒有緩存,每當(dāng)監(jiān)聽的數(shù)據(jù)發(fā)生了都會執(zhí)行回調(diào)進(jìn)行后續(xù)的操作.

二、深入回答

Computed:

  • 支持緩存,當(dāng)依賴的數(shù)據(jù)發(fā)生變化后,才會重新計算
  • 不支持一步操作,當(dāng)它里面有 異步操作時,無法監(jiān)聽數(shù)據(jù)的變化
  • 計算屬性的值 默認(rèn)會緩存,它是基于響應(yīng)式依賴進(jìn)行緩存的,就是 基于data聲明過 或者 從父組件傳遞過來的props中的數(shù)據(jù)進(jìn)行金酸
  • 如果一個屬性是由其他屬性計算而來,那么一般會使用計算屬性
  • 如果 計算屬性的屬性值是函數(shù),那么默認(rèn)會使用get 方法,函數(shù)的返回值就是屬性的屬性值,在計算屬性中,有g(shù)et和set方法,當(dāng)數(shù)據(jù)發(fā)生變化時,會調(diào)用set方法

Watch:

  • 不支持緩存,當(dāng)數(shù)據(jù)發(fā)生變化時,他就會觸發(fā),之后進(jìn)行對應(yīng)的操作
  • 它支持異步監(jiān)聽
  • 監(jiān)聽的函數(shù)會接收兩個參數(shù),第一個參數(shù)是新值,第二個參數(shù)是 舊值
  • 當(dāng)一個屬性發(fā)生變化時,就會執(zhí)行對應(yīng)的操作
  • 監(jiān)聽數(shù)據(jù)必須在data中聲明 或這 從父組件傳遞過來的props中的數(shù)據(jù) 當(dāng)發(fā)生變化時,會觸發(fā)對應(yīng)的操作,函數(shù)有兩個參數(shù):
    • immediate:組件加載會直接觸發(fā)回調(diào)函數(shù)
    • deep:深度監(jiān)聽,發(fā)現(xiàn)數(shù)據(jù)內(nèi)部的變化,在復(fù)雜數(shù)據(jù)類型中使用.這里要注意的是 deep無法監(jiān)聽到數(shù)組和對象內(nèi)部的變化.

應(yīng)用場景:

  • 當(dāng)需要進(jìn)行計算并依賴其他數(shù)據(jù)的時候,就使用 計算屬性, 因為可以利用 計算屬性的緩存特性,避免每次獲取值時候都要重新計算.而當(dāng)它需要執(zhí)行異步操作時 使用watch.
 來源:csdn

藍(lán)藍(lán)設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請加微信ban_lanlan,報下信息,藍(lán)小助會請您入群。歡迎您加入噢~~
希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系01063334945。 

分享此文一切功德,皆悉回向給文章原作者及眾讀者. 免責(zé)聲明:藍(lán)藍(lán)設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。 

藍(lán)藍(lán)設(shè)計m.ibut.com.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)、UI設(shè)計公司、界面設(shè)計公司、UI設(shè)計服務(wù)公司、數(shù)據(jù)可視化設(shè)計公司、UI交互設(shè)計公司、高端網(wǎng)站設(shè)計公司、UI咨詢、用戶體驗公司、軟件界面設(shè)計公司

日歷

鏈接

個人資料

存檔

昂仁县| 德兴市| 桐城市| 米易县| 芦山县| 大悟县| 山阴县| 三亚市| 鄂托克旗| 博野县| 壤塘县| 临沭县| 彭阳县| 宿松县| 锦屏县| 根河市| 仁寿县| 清水县| 梨树县| 吉水县| 霍邱县| 平南县| 城市| 尚志市| 兴城市| 凤城市| 永春县| 通化县| 朝阳区| 奈曼旗| 称多县| 贡觉县| 黎川县| 房山区| 工布江达县| 营口市| 重庆市| 和顺县| 宁化县| 鹤壁市| 卢氏县|