登陆

javascript - vuex 参数解构的问题

我在使用vuex的时候,看到用到了参数解构,但是我很纳闷,这个commit 是从哪里解构来的?哪里提供的commit这个参数? 它的没简化的写法是怎么写的?

actions: {
  increment ({ commit }) {
    commit('increment')
  }
}
# JavaScript
给我你的怀抱给我你的怀抱1583 天前406 次浏览

全部回复(3)我要回复

  • 魑魅魍魉

    魑魅魍魉2017-10-16 19:52:42

      actions: {

        increment (context) {

          context.commit('increment'),

        },

        ddd(context) {

          context.commit('ddd'),

        }

      }

    用参数解构之后:

    actions: {

      increment ({ commit }) {

        commit('increment')

      },

      ddd({ commit }) {

        commit('ddd')

      }

    }


    回复
    0
  • 代言

    代言2017-06-26 10:55:45

    actions: {
    
      increment ( object ) {
    
           object.commit('increment')
      }
    
    }

    回复
    0
  • PHP中文网

    PHP中文网2017-06-26 10:55:45

    Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象,因此你可以调用 context.commit
    提交一个 mutation,或者通过 context.state 和 context.getters 来获取 state 和
    getters。当我们在之后介绍到 Modules 时,你就知道 context 对象为什么不是 store 实例本身了。

    vuex文档

    回复
    0
  • 取消回复发送