computed: { computedData() { if (this.selectedItem === 'option1' && this.selectedYear === 'option1' && this.selectedTime === 'option1' && this.selectedIndex === 'option1') { this.list = [ { title: "测绘院", value: 8.88 }, { title: "经信局", value: 5.78 }, { title: "环保部", value: 5.66 }, { title: "农村社", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, { title: "部门", value: 4.66 }, ]; } else { return ''; }改写成watch方法
时间: 2024-03-02 07:54:15 浏览: 135
computed和watch使用
将上述代码改写成watch方法的实现如下:
```
watch: {
selectedItem: {
handler: function(newValue, oldValue) {
this.updateList();
}
},
selectedYear: {
handler: function(newValue, oldValue) {
this.updateList();
}
},
selectedTime: {
handler: function(newValue, oldValue) {
this.updateList();
}
},
selectedIndex: {
handler: function(newValue, oldValue) {
this.updateList();
}
}
},
methods: {
updateList() {
if (this.selectedItem === 'option1' && this.selectedYear === 'option1' && this.selectedTime === 'option1' && this.selectedIndex === 'option1') {
this.list = [
{ title: "测绘院", value: 8.88 },
{ title: "经信局", value: 5.78 },
{ title: "环保部", value: 5.66 },
{ title: "农村社", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
{ title: "部门", value: 4.66 },
];
} else {
this.list = '';
}
}
}
```
这里使用了watch来监测selectedItem、selectedYear、selectedTime和selectedIndex的变化,如果其中有一个发生了改变,就会调用updateList方法来更新list数组的值。updateList方法中的实现和之前的computed函数是一样的。
阅读全文