从 Vuex getter 中的观察者那里获取一个值



我有一个命名空间模块,其中包含一个名为 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];
    }
}

并在地图函数上调用它

最新更新