从Vuex getter中的观察者获取值

问题描述 投票:2回答:1

我有一个名为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。我该怎么做才能解决这个问题?

vue.js store vuex
1个回答
0
投票

我解决了这个问题,创建了一个名为getEntityById的方法getter

getters: {
    getEntityById: (state) => (entity, id) => {
        return state[entity][id];
    }
}

并在地图功能上调用它

© www.soinside.com 2019 - 2024. All rights reserved.