computed 属性 returns 空数组
computed property returns empty array
我在 VueJS 中有一个这样的计算 属性:
computed: {
groupedTemplates() {
const ret = this.templates.reduce((acc, value) => {
value.group = value.group || "Ungrouped";
if (!acc[value.group]) {
acc[value.group] = [];
}
acc[value.group].push(value);
return acc;
}, []);
console.log(ret); // <---- This works!!
return ret;
},
...mapState(["currentPatient", "currentSite", "phrases", "templates"]),
},
当我查看控制台时,我可以看到正确的响应是
app.js:4061 [Ungrouped: Array(6), Note: Array(2), Order Set: Array(3)]
但是,当我在代码中使用 groupedTemplates
时,它的计算结果为 []
当我将 return 行更改为
return 34;
它 return 如预期的那样是 34。给出了什么?
因为您的 reduce
不会将项目添加到数组中,而是在 Array
对象上创建新的 properties - 您不能 use a string as an index进入数组...
您可能想要的是 return Object
从您的 groupedTemplates
计算...
我在 VueJS 中有一个这样的计算 属性:
computed: {
groupedTemplates() {
const ret = this.templates.reduce((acc, value) => {
value.group = value.group || "Ungrouped";
if (!acc[value.group]) {
acc[value.group] = [];
}
acc[value.group].push(value);
return acc;
}, []);
console.log(ret); // <---- This works!!
return ret;
},
...mapState(["currentPatient", "currentSite", "phrases", "templates"]),
},
当我查看控制台时,我可以看到正确的响应是
app.js:4061 [Ungrouped: Array(6), Note: Array(2), Order Set: Array(3)]
但是,当我在代码中使用 groupedTemplates
时,它的计算结果为 []
当我将 return 行更改为
return 34;
它 return 如预期的那样是 34。给出了什么?
因为您的 reduce
不会将项目添加到数组中,而是在 Array
对象上创建新的 properties - 您不能 use a string as an index进入数组...
您可能想要的是 return Object
从您的 groupedTemplates
计算...