【发布时间】:2019-02-02 13:27:02
【问题描述】:
有没有办法让调度/动作在其中调用 getter?
mutations: {
setData(state, data) {
state.data = data;
}
}
actions: {
sendDataToServer({ commit }, payload) {
// call getter (data) and assign to variable
// do async functions from the data returned
}
},
getters: {
getAppData: state => () => {
return state.data;
}
}
那么这里的最佳做法是什么?使用突变来更改状态,然后获取状态并将其传递给将执行异步函数的操作,还是我需要重组我的实现?
调用突变 -> 通过 getter 获取数据 -> 调用操作
或
在动作上做所有事情(对动作进行突变并在不需要 getter 的情况下执行动作/异步方法)?
【问题讨论】:
-
除了提交之外,动作还有默认注入参数
dispatch、getters和rootGetters。所以你可以简单地写;sendDataToServer({ commit, getters }, payload)访问 getter。 -
@Tugayİlik 你应该回答,这样我们才能投票。
标签: javascript ecmascript-6 vuejs2 vuex