Uncaught Error: [vuex] getters должен быть в функции, но "getters.default" это {} - PullRequest
0 голосов
/ 30 июня 2018

Я недавно строю свой проект VUE для производства с использованием NPM, однако в консоли я получаю следующую ошибку. У кого-нибудь есть идеи, почему vuex жалуется? npm 3.10, node.js 8.11,

Uncaught Error: [vuex] getters should be function but "getters.default" is {}.
at assert (vuex.esm.js:97)
at vuex.esm.js:271
at vuex.esm.js:85
at Array.forEach (<anonymous>)
at forEachValue (vuex.esm.js:85)
at vuex.esm.js:270
at Array.forEach (<anonymous>)
at assertRawModule (vuex.esm.js:265)
at ModuleCollection.register (vuex.esm.js:191)
at new ModuleCollection (vuex.esm.js:165)

спасибо Tonathiu

1 Ответ

0 голосов
/ 30 июня 2018

Я предполагаю, что у вас есть функция (геттер) внутри геттеров vuex, и вы пытаетесь вызвать ее, используя что-то вроде

store.getters.default()

Что является неправильным способом сделать это, и вы получите такой журнал ошибок.

Таким образом, правильный способ - использовать mapGetters vuex внутри свойства computed компонента vue. который будет выглядеть примерно так в коде.

import { mapGetters } from 'vuex'
...
...
  computed:{
            ...mapGetters(['default'])
        },
...
...

А затем попробуйте вызвать getter по умолчанию, используя это (экземпляр vm), как

this.default()

Это все, что сейчас должно работать.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...