vuex дублирование аутентификации пространства имен / для аутентификации пространства имен модуля - PullRequest
0 голосов
/ 21 января 2020

Я использую nuxt. js с модулем аутентификации. Каждый раз, когда я открываю новую страницу в моем профиле, появляется это сообщение об ошибке. Я создал миксин с именем auth. js в моей директории plugins / mixins. Этот файл содержит код:

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);

Геттеры и миксин работают, но каждый раз Я открываю страницу, она дает мне эту ошибку, и я не знаю, как ее решить. Я попробовал решения в этом вопросе: дублирование аутентификации пространства имен / для аутентификации модуля пространства имен Хотя это действительно решает ошибки, это делает мои получатели неопределенными.

1 Ответ

1 голос
/ 03 мая 2020

Да, я нашел работоспособный способ ... Переключиться на индекс. js auth. js logi c и удалить auth. js.

index. js

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

user(state) {
  return state.auth.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"
],
...