watch:{
city(cur,old){
this.loadTop();
},
country(cur,old){
// this.loadTop();
},
}
如上,我想在城市和国家都变化的时候执行刷新的方法,而不是单一执行刷新
watch:{
city(cur,old){
this.loadTop();
},
country(cur,old){
// this.loadTop();
},
}
如上,我想在城市和国家都变化的时候执行刷新的方法,而不是单一执行刷新
不能同时监听两个值,
不过你可以
data () {
return {
city: '',
oldCity: '',
country: '',
oldCountry: ''
}
}
watch:{
city(cur,old){
if (this.country !== this.oldCountry) {
this.loadTop();
this.oldCountry = this.country
}
},
country(cur,old){
if (this.city !== this.oldCity) {
this.loadTop();
this.oldCity = this.city
}
},
}
可以做个计数器
国家改变: count++;
城市改变: count++;
watch: {
count(value){
if(2 === value) {
// 触发code
this.count = 0;
}
}
}
抛砖引玉啊, 方法比较拙, 对每个改变的执行此处的判断并没有写, 如果觉得方法可行再补上
不过如果是联动的话, 国家变了, 城市自然为空, 所以你说的逻辑好像不成立, 我只是猜测.
6 回答2.9k 阅读✓ 已解决
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
用computed定义一个address对象吧,然后再去watch addres
只的在computed里面调用也行,不过要使用$nextTick,不然值会是更新前的值。