作为 a1 创建简单(无需链接 then/catch 调用)vuex-actions 就足够了吗?或者我每次都需要用 Promise creating as a2 来编写它(+还添加拒绝分支)?
提前致谢...
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
const debug = process.env.NODE_ENV !== 'production';
export default new Vuex.Store({
state: { ... }
...
actions: {
a1: (state, response) => {
state.commit('setNavMenu',{signIn: true, signUp: true, signOut: false});
...
},
a2: (state, response) => {
return new Promise((resolve) => {
state.commit('setNavMenu',{signIn: true, signUp: true, signOut: false});
...
resolve();
});
},
...
最佳答案
可以像您的第一个 a1
但是,您可以直接调用突变函数,在 a1
的情况下,它将是 setNavMenu
。
Action 和突变之间的主要区别在于, Action 可以是异步的,而突变不能,基本上如果你不需要你的 Action 来执行异步。代码,您不需要任何操作,只需进行突变即可。
有关更多详细信息,您可以查看有关操作的官方文档 https://vuex.vuejs.org/en/actions.html
关于javascript - 在 vuex 中创建 Action 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50411779/