Отправить данные из компонента в Vuex - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть файл компонента, в который я отправляю идентификатор, используя dispatch:

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);
            });
    });
}

Я пытаюсь получить id из компонента, используя payload, но, вероятно, это значение undefined.Когда я изменяю:

axios.get('/api/warehouse/' + payload)

на

axios.get('/api/warehouse/1')

axios правильно возвращать данные из базы данных.

1 Ответ

0 голосов
/ 14 апреля 2019

Хорошо, я нашел решение

Я должен просто добавить payload.warehouseId:

axios.get('/api/warehouse/' + payload.warehouseId)

warehouseId это должно быть то же имя от компонента:

this.$store.dispatch("showWarehouse", {warehouseId})
...