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