Ошибка Vuejs (vuex) неизвестный тип локальной мутации

#vue.js #vuex

#vue.js #vuex

Вопрос:

У меня возникает ошибка при вводе данных на странице регистрации. В ошибке говорилось:

 unknown local mutation type: setRegisterEmail, global type: authentication/setRegisterEmail
  

Я перепробовал много способов, но все равно не могу это исправить.

Вот мой register.vue:

 Import { mapState, mapMutations, mapActions } from 'vuex';
export default {
  computed: {
    ...mapState('authentication', [
      'registerEmail',
      'registerPassword',
      'registerError',
    ]),
  },
  methods: {
    ...mapMutations('authentication', [
      'setRegisterEmail',
      'setRegisterPassword',
    ]),
    ...mapActions('authentication', [
      'register',
    ]),
  },
};
  

Вот мой autentication.js:

 export default {
    namespaced: true,
    state: {
        registerEmail: null,
        registerPassword: null,
        registerError: null,
        token: null,
    },
    mutation: {
        setToken(state, token) {
            state.token = token;
        },
        setRegisterEmail(state, email) {
            state.registerEmail = email;
        },
        setRegisterPassword(state, password) {
            state.registerPassword = password;
        },
    },
};
  

Ответ №1:

У вас опечатка в вашем authentication.js . Заменить mutation на mutations

Комментарии:

1. lol что ж, спасибо, я новичок в vuejs и пытаюсь найти ошибку 3 часа. спасибо вам! . Я отмечу этот ответ

Ответ №2:

Я использую структуру приложения Vuex Advance и столкнулся с этой проблемой. Эта проблема была решена путем определения полного каталога мутаций после папки modules, например cart / setCartData

 this.$store.commit('cart/setCartData', payload);
  

Изображение с VuexSite прилагается для лучшего объяснения структуры приложения Advanced
введите описание изображения здесь