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 ''; }更新不了数据的原因是什么
时间: 2024-04-27 13:23:39 浏览: 6
这段代码中的computed函数只有在selectedItem、selectedYear、selectedTime和selectedIndex的值都为'option1'时才会更新list数组的值。如果这些值的任意一个发生了改变,computed函数就不会被执行,list数组就不会被更新。因此,如果你想更新list数组的值,就需要确保这些变量的值都为'option1'。或者你可以将computed函数的条件更改为适合你的需求。
相关问题
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方法
将上述代码改写成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函数是一样的。
解释这段代码 <script> import { mapGetters } from 'vuex' export default { data() { return {} }, computed: { ...mapGetters([ 'device' ]) }, methods: { toOldSystem() { if (this.device !== 'mobile' && process.env.NODE_ENV === 'development') window.open('https://datacenter.dev.kk30.net/admin.php/other_systems/fin_login.html') else if (this.device !== 'mobile' && process.env.NODE_ENV === 'production') window.open('https://datasystem.kuaidun.net/other_systems/fin_login.html') else if (this.device === 'mobile' && process.env.NODE_ENV === 'development') location.href = 'https://datacenter.dev.kk30.net/admin.php/other_systems/fin_login.html' else if (this.device === 'mobile' && process.env.NODE_ENV === 'production') location.href = 'https://datasystem.kuaidun.net/other_systems/fin_login.html' } } } </script>
这段代码是一个Vue组件的脚本部分,它使用了Vuex库中的mapGetters方法和Vue的计算属性(computed)。
首先,通过import语句引入了mapGetters方法,该方法用于将Vuex store中的getters映射到组件的计算属性中。
然后,在export default中定义了一个Vue组件,并且在data选项中返回一个空对象。
在computed选项中,使用了扩展运算符(...)和mapGetters方法将Vuex store中的'device' getter映射到组件的计算属性中。
接下来,在methods选项中定义了一个名为toOldSystem的方法。这个方法用于根据设备类型和环境变量决定打开不同的URL链接。
根据条件,如果设备类型不是'mobile'且环境变量NODE_ENV是'development',则使用window.open方法打开一个URL链接。
如果设备类型不是'mobile'且环境变量NODE_ENV是'production',则使用window.open方法打开另一个URL链接。
如果设备类型是'mobile'且环境变量NODE_ENV是'development',则使用location.href方法跳转到一个URL链接。
如果设备类型是'mobile'且环境变量NODE_ENV是'production',则使用location.href方法跳转到另一个URL链接。
这段代码实现了根据设备类型和环境变量打开不同URL链接的功能。