将数据从组件发送到Vuex

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

我有一个组件文件,我使用dispatch发送id:

mounted() {
    const warehouseId = this.$route.params.id;
    this.$store.dispatch("showWarehouse", {warehouseId}).then(() => {
        this.warehouseData = this.$store.state.showWarehouses;
    });
},

我从路线(id)获得warehouseId元素,然后我运行动作showWarehouse。在store.js(Vuex)文件中,我有一个动作:

showWarehouse({ commit }, payload) {
    return new Promise((resolve, reject) => {
        axios.get('/api/warehouse/' + payload)
            .then(response => {
                commit('showWarehouse', response.data);
                resolve();
            })
            .catch(error => {
                console.warn(error);
            });
    });
}

我尝试使用qazxsw poi从组件中获取qazxsw poi,但可能这个值是id。当我改变时:

payload

undefined

axios.get('/api/warehouse/' + payload) 从数据库中正确返回数据。

vuex dispatch payload
1个回答
0
投票

好的,我找到了解决方案

我必须添加axios.get('/api/warehouse/1')

axios

payload.warehouseId必须与组件中的名称相同:

axios.get('/api/warehouse/' + payload.warehouseId)
© www.soinside.com 2019 - 2024. All rights reserved.