vue watch如何同时监听多个属性
业务描述:有三个单选按钮,每个选项的默认值会受到另两个单选按钮的选中与否而改变。
需要同时侦听多个属性,开始考虑每个属性单独侦听,发现会有大量重复代码。
由于不能同时侦听多个属性,所以考虑将多个属性放在一个对象里面,通过侦听对象来实现对多个属性的侦听。
代码如下:
watch: {
'isYWYLChange': function (val) {
console.log('val====', val)
if (val.isYWYL && (val.isYWSH || val.isZYJT)) { // 组合附加
this.coverageYWYL = 5
} else if (val.isYWYL && !val.isYWSH && !val.isZYJT) { // 单独附加
this.coverageYWYL = 10
}
}
}
computed: {
isYWYLChange () {
const {isYWYL, isYWSH, isZYJT} = this
return {isYWYL, isYWSH, isZYJT}
}
}