我有一个命名空间模块,其中包含一个名为 allItems()
的 getter 方法,用于从规范化状态获取值数组。
...
getters: {
allItems(state, getters, { entities }) {
return state.items.map(function (item){
return {...entities.product[item]};
});
}
}
当我尝试获取其他元素时,它给了我"你不能从元素调用某些属性"错误undefined
。
如果我放console.log(entities)
我可以看到元素数组,当我放console.log(entities.products)
时,我得到了一个观察者{__ob__: Observer}
里面的数据,但是当我放console.log(entities.products[1])
例如时,我得到了undefined
.我应该怎么做才能解决这个问题?
我解决了这个问题,创建了一个名为getEntityById
的方法获取器,如下所示
getters: {
getEntityById: (state) => (entity, id) => {
return state[entity][id];
}
}
并在地图函数上调用它