VueX 中如何调用 action

How call action in action VueX

我尝试在 Vue.js 中调用一个动作 逻辑就不给你了,就是管理一个月的天数和闰年

    actions : {
       incrementDay : ({dispatch},context) => {
           if(context.state.month === 1){
             if (context.state.day < 31) {
                context.commit("INCREMENT_DAY")
             } else {
                context.commit("RESTORE_DAY")
                context.dispatch(incrementMonth) // 2nd action i try to call
               }
           }
       },
       incrementMonth: (context) =>{
         // here my logic
       },
    }

感谢您的帮助!

只需将操作作为字符串传递。 Docs

actions : {
   incrementDay : ({dispatch},context) => {
       if(context.state.month === 1){
         if (context.state.day < 31) {
            context.commit("INCREMENT_DAY")
         } else {
            context.commit("RESTORE_DAY")
            context.dispatch("incrementMonth")
           }
       }
   },
   incrementMonth: (context) =>{
     // here my logic
   },
}

我不知道你为什么要将上下文作为参数传递给 increment day。你可以访问第一个参数中的状态。喜欢:

actions : {
   incrementDay : ({dispatch, commit, state}) => {
       if(state.month === 1){
         if (state.day < 31) {
            commit("INCREMENT_DAY")
         } else {
            commit("RESTORE_DAY")
            dispatch("incrementMonth")
           }
       }
   },
   incrementMonth: (context) =>{
     // here my logic
   },
}