从 Vuex 中的观察者获取值 getter
Get a value from an observer in a Vuex getter
我有一个命名空间模块,其中包含一个名为 allItems()
的 getter 方法,用于从规范化状态获取值数组。
...
getters: {
allItems(state, getters, { entities }) {
return state.items.map(function (item){
return {...entities.product[item]};
});
}
}
当我尝试获取其他元素时,出现 "you can't call some property from undefined
element" 错误。
如果我放 console.log(entities)
我可以看到元素数组,当我放 console.log(entities.products)
时我得到一个观察者 {__ob__: Observer}
里面有数据但是当我放 console.log(entities.products[1])
例如,我得到了 undefined
。我应该怎么做才能解决这个问题?
我解决了这个创建方法 getter 调用 getEntityById
像这样
getters: {
getEntityById: (state) => (entity, id) => {
return state[entity][id];
}
}
并在地图函数上调用它
我有一个命名空间模块,其中包含一个名为 allItems()
的 getter 方法,用于从规范化状态获取值数组。
...
getters: {
allItems(state, getters, { entities }) {
return state.items.map(function (item){
return {...entities.product[item]};
});
}
}
当我尝试获取其他元素时,出现 "you can't call some property from undefined
element" 错误。
如果我放 console.log(entities)
我可以看到元素数组,当我放 console.log(entities.products)
时我得到一个观察者 {__ob__: Observer}
里面有数据但是当我放 console.log(entities.products[1])
例如,我得到了 undefined
。我应该怎么做才能解决这个问题?
我解决了这个创建方法 getter 调用 getEntityById
像这样
getters: {
getEntityById: (state) => (entity, id) => {
return state[entity][id];
}
}
并在地图函数上调用它