Ano*_*elo 4 javascript vue.js vuex
我有一个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);
}
Run Code Online (Sandbox Code Playgroud)
调用getter,但是,它返回函数而不传递参数。我做错了什么还是我误解了Vuex中吸气剂的工作方式?
您需要像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);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1300 次 |
| 最近记录: |