Nuxt Vuex 商店中的未知操作类型

Unknown action type in Nuxt Vuex store

我在从 vuex 调用操作时遇到问题。每次我尝试访问 loginUser 操作时,我都会从 vuex 收到错误 'unknown action type'。也许我没有以正确的方式称呼它。请告诉我我的代码有什么问题。

商店:user.js

import axios from 'axios'

export const state = () => ({
    users: [],
    loggedIn: false,
})

export const getters = {
    getLoggedIn: (state) => { return state.loggedIn },
}

export const actions = {
    loginUser({ commit }, payload){
        if(state.loggedIn){
            console.log("you're already logged in!")
        }else{
            return new Promise(async(resolve, reject) => {
                const { data } = await axios.post('/api/users/login-admin', {
                    login: payload.login, 
                    password: payload.password
                })
                if(data.success){
                    commit("loggedIn", true)
                    resolve()
                }else{
                    commit("loggedIn", false)
                    reject('an error has ocurred')
                }
                return data.success
            }).catch(err => alert(errCodes(err.code)))
        }
    },
}

export const mutations = { 
    setLoggedIn(state, payload) {
        state.loggedIn = payload
    }
}

login.vue

    computed: {
        ...mapGetters(['getCount'] , {user: 'getLoggedIn'}),
        ...mapActions([
            'loginUser'
        ]),
    },
    methods: {
        onSubmit: function(){
            this.$store.dispatch({
                type: 'loginUser',
                email: this.login,
                pass: this.pass
            }).then(()=>{
                this.$router.push('../admin_2065')
                this.onReset()
            }).catch(e => console.log(e))
        },
        onReset(){
            this.login = ''
            this.pass = ''
            this.$nextTick().then(() => {
                this.ready = true
            })
        }
    },

错误:

如有任何帮助,我们将不胜感激。

mapActions 应该在方法选项内并添加命名空间 user/ :

  computed: {
        ...mapGetters(['getCount'] , {user: 'getLoggedIn'}),
    },
    methods: {
     ...mapActions([
            'user/loginUser'
        ]),
        onSubmit: function(){
            this['user/loginUser']({
                email: this.login,
                pass: this.pass
            }).then(()=>{
                this.$router.push('../admin_2065')
                this.onReset()
            }).catch(e => console.log(e))
        },
        onReset(){
            this.login = ''
            this.pass = ''
            this.$nextTick().then(() => {
                this.ready = true
            })
        }
    },