отображение действий из модулей vuex, расположенных в нем, в методы компонентов, работает только с одним из двух доступных синтаксисов - PullRequest
0 голосов
/ 16 июня 2020

Это прекрасно работает:

  methods: {
    ...mapActions('event', ['fetchEvents'])
  }

Но если я изменю его на это:

  methods: {
    ...mapActions(['event/fetchEvents'])
  }

, тогда в консоли появятся следующие ошибки:

[Vue warn]: Error in created hook: "TypeError: this.fetchEvents is not a function"

found in

---> <Anonymous>
       <App> at src/App.vue
         <Root>                                                                   vue.runtime.esm.js:587


TypeError: "this.fetchEvents is not a function"
        created EventList.vue:29
        VueJS 17                                                                 vue.runtime.esm.js:1737

Что я здесь делаю не так? оба этих синтаксиса - le git на основе документации vuex

1 Ответ

1 голос
/ 16 июня 2020

Поскольку вы не указали псевдоним для действия, оно должно вызываться следующим образом:

this['event/fetchEvents']

Если вы используете sh для вызова действия, такого как this.fetchEvents, вы должны вызвать mapActions вот так:

...mapActions({
  fetchEvents: 'event/fetchEvents'
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...