首先watch首先是特别的消耗性能的
能用computed的话 尽量使用computed
实现computed的场景
根据某个变量值的变化而变化注:当你有一些数据需要随着其它数据变动而变动时,你很容易滥用 watch
举例说明
我经常要用到时间段 但是需要先经过查询 然后给赋值 然后在导出
所以可以利用computed
{{timeget.endTime}}
//这个是实时改变的 var vm = new Vue({ data(){ return { timeRange:'', searchBox:{ startTime:'', endTime:'' } } }, computed:{ timeget:function(){ if(this.timeRange){ this.searchBox.startTime=this.timeRange[0]; this.searchBox.endTime = this.timeRange[1] return this.ssearchBox; } } } })
虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。