эта функция $ store не определена - PullRequest
1 голос
/ 21 июня 2019

Я пытаюсь использовать хранилище vuex для выполнения некоторых вызовов API, но после установки vuex импортирую хранилище в мои файлы и следую другие ответы о переполнении стека, например, проверяю, установлен ли vuex, если я экспортирую файл хранилища с помощью "Vuex. Store "и т. Д., Но моя функция loadCalls все еще не работает.

Это ошибка, которую я получаю:

this.$store.loadCalls is not a function

Вот моя функция, и как я пытаюсь ее вызвать, она объявлена ​​в моем разделе ACTIONS моего файла store.js.

loadCalls() {
   axios
        .get("/some/calls")
        .then(res => {
          console.log(res)
        });
},

Я пытаюсь использовать его в моем beforeMount() при загрузке компонента:

beforeMount(){
    this.$store.loadCalls();
}

Что я здесь не так делаю?

1 Ответ

2 голосов
/ 21 июня 2019

Если вы определили действие как это:

actions: {
  loadCalls() {
    // ...
  }
}

Тогда вы бы назвали это так:

this.$store.dispatch('loadCalls');

Действия не отображаются напрямую, вы вызываете их, используя dispatch.

https://vuex.vuejs.org/guide/actions.html#dispatching-actions

...