如何从一个存储文件访问另一个存储文件的突变?

How acccess mutation from one store file for another store file?

如何从我的 store 文件夹中的一个文件访问存在于我的 store 文件夹中的另一个文件中的突变?

这是我的目录:

store/
     user.js
     loading.js

user.js 我有:

  async googleSignInRedirect({ commit }) {
    try {
      const result = await this.$fire.auth.getRedirectResult()
      if (result.credential) {
        // const credential = result.credential
        // console.log('got a credential? ', credential)
        this.$router.replace('/')
        commit('loading/SET_LOADING', false) //< -- what is correct way to write this ?
      }
      return null
    } catch (error) {
      console.error(error)
    }
  },

这里是 loading.js 代码:

export const state = () => ({
  loading: false
})

export const mutations = {
  SET_LOADING(state, payload) {
    state.loading = payload
  }
}

如何从 user.js 访问 loading.js?如果我执行上述样式,我会在控制台中收到以下错误:

vuex.esm.js?2f62:791 [vuex] unknown local mutation type: loading/SET_LOADING, global type: user/loading/SET_LOADING

只需将 { root: true } 作为最后一个参数传递给 commit,所以:

  async googleSignInRedirect({ commit }) {
    try {
      const result = await this.$fire.auth.getRedirectResult()
      if (result.credential) {
        this.$router.replace('/')
        commit('loading/SET_LOADING', false, { root: true })
      }
      return null
    } catch (error) {
      console.error(error)
    }
  }

您可以在 Vuex documentation 中找到更多详细信息。