web-dev-qa-db-ja.com

Vuex |モジュールアクションでグローバルミューテーションをコミットする方法は?

名前空間モジュールにアクションがあり、グローバルな変異があります(つまり、モジュールにはありません)。アクション内でグローバルな変異をコミットできるようにしたいと思います。

// Global mutation
export default {
  globalMutation (state, payload) {
    ...
  }
}

// Action in a namespaced module
export default {
  namespaced: true,

  actions: {
    namespacedAction ({ commit, dispatch, state }, payload) {
      commit({ type: 'globalMutation' })
    }
  }
}

名前空間付きアクションがディスパッチされると、Vuexは次を表示します。

[vuex] unknown local mutation type: globalMutation, global type: module/globalMutation

このグローバルミューテーションを呼び出すためにcommit関数に渡すことができるオプションはありますか?

22

{ root: true }パラメーターを使用した方法を見つけたようです。

commit('globalMutation', payload, { root: true })
51