gpt4 book ai didi

javascript - 从 Vuex 操作将参数传递给 Vuex getter

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:55 34 4
gpt4 key购买 nike

我有一个 Vuex getter,我从应用程序中的各个组件调用它。但是,我发现在调用 getter 之前需要稍微复杂一些的逻辑,所以我使用了 Vuex Action。如何使用操作中的参数调用 getter 函数?

我使用常量来命名 getter/mutations/actions,所以我的 getter 定义如下:[GETTER_NAME]: state => param => { return {/.../} } 。在我的 Vuex 操作中,我想按如下方式调用 getter getters[GETTER_NAME](someParam)。然而,这似乎不起作用(即使 getters[GETTER_NAME] 返回一个函数)。

从组件中调用 getter 工作得很好。我只是创建 computed 函数并使用 ...mapGetters({getterName: GETTER_NAME})。要使用参数调用 getter,我只需说 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);
}

getter 被调用,但是,它返回函数而不传入参数。我是做错了什么还是误解了 getter 在 Vuex 中的工作方式?

最佳答案

您需要在此处的 actions 中调用 context.getters[GETTER_NAME](someParam)

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

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

关于javascript - 从 Vuex 操作将参数传递给 Vuex getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54231197/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com