我有以下吸气剂:
withEarmarks: state => {
var count = 0;
for (let l of state.laptops) {
if (l.earmarks.length > 0) {
count++;
}
}
return count;
}
在组件中,此计算出的属性是从该吸气剂派生的:
withEarmarks() { return this.$store.getters.withEarmarks; },
返回的值是正确的,直到我更改了laptops数组中的元素,然后getter才更新。
在您的情况下
state.laptops.earmarks
是一个数组,您正在通过其array index对其进行操作state.laptops[index]
。Vue无法对状态数组上的突变做出反应(按索引)。该文档为此提供了两种解决方法:尽管已记录了文档,但我认为该页面上的霓虹灯发光的巨大标志是“如果您不知道这会浪费数小时的生产力”将是不错的补充。
您可以在此处阅读有关此“ caveat”的更多信息:https : //vuejs.org/v2/guide/list.html#Caveats