watch和computed

watch和computed都是以Vue的依赖追踪机制为基础的,它们都试图处理这样一件事情:当某一个数据(称它为依赖数据)发生变化的时候,所有依赖这个数据的“相关”数据“自动”发生变化,也就是自动调用相关的函数去实现数据的变动。

computed:

例如:

computed:{
  fullName: function () { return aa }
}
在用的时候,用this.fullName去取用,就和取data一样(不要当成函数调用!!)

watch:类似于监听机制+事件机制:

例如:

watch: {
  firstName: function (val) { this.fullName = val }
}

firstName这个变量的改变是这个特殊“事件”被触发的条件,而firstName对应的函数就相当于监听到事件发生后执行的方法

watch和computed的对比

1.watch擅长处理的场景:一个数据影响多个数据

2.computed擅长处理的场景:一个数据受多个数据影响

原文地址:https://www.cnblogs.com/zhouyideboke/p/9413887.html