У меня есть геттер 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?