Javascript VueJS:查看两个属性
假设我有两个数据属性:Javascript VueJS:查看两个属性,javascript,vue.js,watch,Javascript,Vue.js,Watch,假设我有两个数据属性: data() { return { a: false, b: false, } } 当a和b同时变为true时,我想执行相关任务 如何在Vue中使用watch方法实现此目的?查看计算值 computed:{ combined(){ return this.a && this.b } } watch:{ combined(value){ if (value)
data() {
return {
a: false,
b: false,
}
}
当a
和b
同时变为true
时,我想执行相关任务
如何在Vue中使用watch方法实现此目的?查看计算值
computed:{
combined(){
return this.a && this.b
}
}
watch:{
combined(value){
if (value)
//do something
}
}
上面的用法有一种简写法
这与@Bert建议的解决方案几乎相同。但您可以只执行以下操作:
data() {
return {
combined: {
a: false,
b: false,
}
}
},
然后:
这仍然是唯一的方法还是vue有任何更新?@berkan我不知道。我已经有一段时间没有机会在Vue中工作了。结合计算属性和观察者的最聪明的解决方案。谢谢!:)以这种方式使用组合计算字段看起来是完全错误的。如果a=true和b=false,然后它们变为a=false和b=true或a=false和b=false,观察者将不会执行,因为组合值仍然是false。。。更不用说,这是非常特殊的布尔值。尽管这种方法本身非常有效,但您只需要找到生成组合值的正确方法。例如,
combined(){return[this.a,this.b];}
应该适用于几乎所有的基本类型值(可能不适用于对象-JSON.stringify([a,b])
在这种情况下应该适用)
data() {
return {
combined: {
a: false,
b: false,
}
}
},
watch: {
combined:{
deep:true,
handler
}
}