#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