watch和computed的區別


computed:

有緩存機制;不能接受參數;可以依賴其他computed,甚至是其他組件中的data;不能與data中的屬性重復

watch:

可接受兩個參數;監聽時可觸發一個回調,並做一些事情;監聽的屬性必須存在;允許異步

watch配置:handler、deep(是否深度)、immeditate(是否立即執行)

比如監聽路由變化

watch:{
  $route:{
    handler: function(val, oldVal){
      console.log(val);
    },
    // 深度觀察監聽
    deep: true
  }  
}    

總結:

當有一些數據需要隨着另外一些數據變化時,建議使用computed

當有一個通用的響應數據變化的時候,要執行一些業務邏輯或異步操作的時候建議使用watch


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM