名称空间模块auth的vuex重复名称空间auth /

问题描述 投票:0回答:1

我正在通过auth模块使用nuxt.js。每次我在个人资料上打开新页面时,都会出现此错误消息。我在我的plugins / mixins目录中创建了一个名为auth.js的mixin。该文件包含代码:

export const getters = {
    authenticated(state) {
        return state.loggedIn;
    },

    user(state){
        return state.user;
    }
};

我使用以下代码创建了一个名为auth.js的吸气剂文件:

import Vue from 'vue'
import {mapGetters} from 'vuex'

const User = {
    install(Vue, options) {
        Vue.mixin({
            computed: {
                ...mapGetters({
                    user: 'auth/user',
                    authenticated: 'auth/authenticated'
                })
            }
        })
    }
};

Vue.use(User);

吸气剂和混合剂起作用,但是每次我打开一个页面时,都会出现此错误,我不知道如何解决。我已经试过这个问题的解决方案:duplicate namespace auth/ for the namespaced module auth尽管确实可以解决错误,但是却使我的吸气剂无法定义。

vuex nuxt.js mixins getter vuex-modules
1个回答
0
投票

是的,我找到了可行的方法...切换到index.js auth.js逻辑,然后删除auth.js。

index.js

export const getters = {
authenticated(state) {
  return state.auth.loggedIn
},

user(state) {
  return state.auth.user
}
}

如果使用的是user.js mixin,请如下修改:

import Vue from 'vue'
import {mapGetters} from 'vuex'

const User = {
    install(Vue, options) {
        Vue.mixin({
            computed: {
                ...mapGetters({
                    user: 'user',
                    authenticated: 'authenticated'
                })
            }
        })
    }
};

Vue.use(User);
© www.soinside.com 2019 - 2024. All rights reserved.