Vue.js Vuex:Mount()和computed()是从同一个组件执行的,我的数据不是先加载的吗?

Vue.js Vuex:Mount()和computed()是从同一个组件执行的,我的数据不是先加载的吗?,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,我使用action获取所有产品,然后在同一组件上使用computed方法显示数据。这是组件: <template v-for="product in allProducts"> <div class="ap-table-content"> {{ product.product_name }} </div> <div class="ap-table-content">

我使用
action
获取所有产品,然后在同一
组件上使用
computed
方法显示数据。这是
组件

<template v-for="product in allProducts">
    <div class="ap-table-content">
        {{ product.product_name }}
    </div>              
    <div class="ap-table-content">
        {{ product.code }}
    </div>
</template>
在my store.js上,我将我的商店设置为:

state: {
    allProducts : {}
},
getters: {
    allProducts: state=>{
        return state.allProducts;
    }
},
actions:{

 fetchAllProducts : async({commit, state})=>{
            await axios.get('/products')
                .then(response => {
                    commit('storeProducts', response.data);

                })
                .catch(err => console.log(err));
        },
}

解决方案: 那是我的变种人。我在对象中分配了一个数组块,但没有获得
state.property
,其中
computed
丢失了它的

storeProducts(state, data){
             Object.assign(state.allProducts, data);
}
这种突变是罪魁祸首。
有人能给我更好的选项在state附加数据吗?

JavaScript是一种区分大小写的语言。您试图使用名为
allProducts
的getter,但您在商店
getters
中声明的是
allProducts
,这就是您的数据未显示的原因

将getter函数修改为
allProducts
,而不是
allProducts

getters: {
    allProducts: state=>{
        return state.allProducts;
    }
},
我还注意到您在模块中使用了
store:{allProducts:{}}
,而不是
state


如果以后将其导出为
状态
,则可以,但如果不是,则应将其更改为
状态:{allProducts:{}

JavaScript是区分大小写的语言。您试图使用名为
allProducts
的getter,但您在商店
getters
中声明的是
allProducts
,这就是您的数据未显示的原因

将getter函数修改为
allProducts
,而不是
allProducts

getters: {
    allProducts: state=>{
        return state.allProducts;
    }
},
我还注意到您在模块中使用了
store:{allProducts:{}}
,而不是
state


如果以后将其导出为
状态
,则可以,但如果不是,则应将其更改为
状态:{allProducts:{}

否。。它不起作用。首先,没有数据,但它获取数据并提交到我的状态。第二次点击它,我就有了数据。只是一开始它不起作用。这不是反应性的我guess@ReyYoung您是否稍后在模块中将
存储
键导出为
状态
,因为它应该是
状态
,而不是
存储
。在哪里?我把它导出为一个store@ReyYoung我添加了我的意思的截图。如果你能创建一个代码沙盒来重现问题,那就更好了,因为它能更快地解决问题。。这是一个打字错误,对不起。。它不起作用。首先,没有数据,但它获取数据并提交到我的状态。第二次点击它,我就有了数据。只是一开始它不起作用。这不是反应性的我guess@ReyYoung您是否稍后在模块中将
存储
键导出为
状态
,因为它应该是
状态
,而不是
存储
。在哪里?我把它导出为一个store@ReyYoung我添加了我的意思的截图。如果你能创建一个代码沙盒来重现问题,那就更好了,因为它能更快地解决问题。。这是一个打字错误。我能看到
storeProducts
突变吗?我能看到
storeProducts
突变吗?