Передача параметров получателям Vuex из действия Vuex - PullRequest
0 голосов
/ 17 января 2019

У меня есть геттер Vuex, который я вызываю из различных компонентов моего приложения. Однако я обнаружил, что перед вызовом метода получения требуется немного более сложная логика, поэтому я использую действие Vuex. Как я могу вызвать функцию получения с параметром из моего действия?

Я использую константы для именования геттеров / мутаций / действий, поэтому мой геттер определяется следующим образом: [GETTER_NAME]: state => param => { return {/.../} }. В моем действии Vuex я хотел бы вызвать геттер следующим образом getters[GETTER_NAME](someParam). Однако, похоже, это не работает (даже если getters[GETTER_NAME] возвращает функцию).

Вызов метода получения из компонента работает отлично. Я просто создаю computed функцию и использую ...mapGetters({getterName: GETTER_NAME}). Чтобы вызвать метод получения с параметром, я просто говорю getterName(someParam).

[GETTER_NAME]: state => param=> {
    return {/.../}
},

[ACTION_NAME]: (context, param) => {
    getters[GETTER_NAME](param)
      ? context.commit(MUTATION_X, param)
      : context.commit(MUTATION_Y, param);
}

Получается геттер, однако он возвращает функцию без передачи параметра. Я что-то не так делаю или неправильно понимаю, как работают геттеры в Vuex?

1 Ответ

0 голосов
/ 17 января 2019

Вам нужно позвонить как context.getters[GETTER_NAME](someParam) внутри actions здесь.

[GETTER_NAME]: state => param=> {
return {/.../}
},

[ACTION_NAME]: (context, param) => {
   context.getters[GETTER_NAME](param)
     ? context.commit(MUTATION_X, param)
     : context.commit(MUTATION_Y, param);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...