nuxt vuex中未定义的提交

问题描述 投票:0回答:1
<script>
  computed: {
    loggedOut () {
      return this.$store.state.login.logged
    }
  },
  signin (store) {
      this.$auth.loginWith('local', {...code}
      }).then(this.$store.commit.login('login/LOGGED_IN')) // <- error in commit
    }
  }
}
</script>

我检索loggingOut()计算属性,但是当我尝试通过提交来对其进行变异时,它给我一个错误:

[vuex]未知突变类型:登录名/ LOGGED_IN

我的login.js文件:

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

export const mutations = () => ({
  LOGGED_IN (state) {
    state.logged = true
  },
  LOGGED_OUT (state) {
    state.logged = false
  }
})

index.js文件:

export const state = () => ({
})

export const mutations = {
}
vue.js vuex nuxt.js
1个回答
0
投票

应该工作

this.$store.commit('login/LOGGED_IN') 

因为Nuxt.js默认store / xxx.js(除ind​​ex.js以外的每个.js文件)是一个模块,所以您需要使用模块方式来调用它

请参见https://nuxtjs.org/guide/vuex-store#modules-mode

© www.soinside.com 2019 - 2024. All rights reserved.