vuex重复命名空间身份验证/用于命名空间模块身份验证
我在auth模块中使用nuxt.js。 每次我在个人资料上打开新页面时,都会显示此错误消息。 我在plugins/mixins目录中创建了一个名为auth.js的mixin。此文件包含以下代码: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; } }; 我使用以下代码
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"
],