vuex重复命名空间身份验证/用于命名空间模块身份验证

vuex重复命名空间身份验证/用于命名空间模块身份验证,vuex,nuxt.js,mixins,getter,vuex-modules,Vuex,Nuxt.js,Mixins,Getter,Vuex Modules,我在auth模块中使用nuxt.js。 每次我在个人资料上打开新页面时,都会显示此错误消息。 我在plugins/mixins目录中创建了一个名为auth.js的mixin。此文件包含以下代码: export const getters = { authenticated(state) { return state.loggedIn; }, user(state){ return state.user; } }; 我使用以下代码

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

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

    user(state){
        return state.user;
    }
};
我使用以下代码创建了一个名为auth.js的getter文件:

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);
getter和mixin可以工作,但是每次我打开一个页面,它都会给我这个错误,我不知道如何解决它。我尝试了这个问题的解决方案:
虽然这确实解决了错误,但它使我的getter无法定义。

是的,我找到了一个可行的方法。。。 切换到index.js auth.js logic,然后删除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);
插件:

** Plugins to load before mounting the App
*/
plugins: ["./plugins/mixins/user.js"
],

是的,我找到了一个可行的方法。。。 切换到index.js auth.js logic,然后删除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);
插件:

** Plugins to load before mounting the App
*/
plugins: ["./plugins/mixins/user.js"
],