侦听器/监听器 watch
watch 侦听器/监听器 可以监听 data中数据的变化; watch里面的名字就是用数据的名字
可以接受两个参数 current(变化后的值),prev(变化之前的值)
watch: {
count(current, prev) {
console.log('count changed');
this.newTotal = this.price * current;
},
message(current, prev) {
console.log('message changed start');
console.log('current:', current);
console.log('prev:', prev);
console.log('message changed end');
}
}
Watch和computed的区别: computed在页面渲染的同时执行里面的业务逻辑,而且必须有一个返回值;
可以用watch实现computed的功能,但实现上会更加复杂
method、Watch和computed使用优先级:
computed 和 method都能实现的功能,建议使用computed,因为有缓存,不用渲染页面就刷新。
computed 和 watch 都能实现的功能,建议使用 computed,因为更加简洁。