Vue.js 突变不';t在状态下设置值
我使用设置值,但它不会更新状态对象中的值。它在Vue.js 突变不';t在状态下设置值,vue.js,vuex,mutation,Vue.js,Vuex,Mutation,我使用设置值,但它不会更新状态对象中的值。它在对象中创建新变量。 js: const mutations = { setUser(state, user) { state.user = user; // eslint-disable-line no-param-reassign }, setToken(state, token) { state.token = token; // eslint-disable-line no-param-reassign },
对象中创建新变量。
js:
const mutations = {
setUser(state, user) {
state.user = user; // eslint-disable-line no-param-reassign
},
setToken(state, token) {
state.token = token; // eslint-disable-line no-param-reassign
},
setAuthenticated(state, authenticated) {
state.authenticated = authenticated; // eslint-disable-line
},
};
export default {
mutations,
};
state.js:
const state = {
callingAPI: false,
activeSidebar: true,
searching: '',
authenticated: null,
user: null,
token: null,
userInfo: {
messages: [],
notifications: [],
tasks: [],
},
};
const getters = {
isAuthenticated: (state) => { // eslint-disable-line
return state.authenticated;
},
isActiveSidebar: (state) => { // eslint-disable-line
return state.activeSidebar;
},
};
export default {
state,
getters,
};
store.js:
import Vue from 'vue';
import Vuex from 'vuex';
import state from './state';
import mutations from './mutations';
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
state,
mutations,
},
});
我使用commit
函数更新一个值。e、 g.:this.store.commit('setAuthenticated',true)代码>
它不是应该更新状态
对象中的空值,而不是在对象中创建新变量吗?您似乎误用了模块。我想你并不是真的想用它们。您的状态
导入也存在意外的属性嵌套
store.js
import Vue from 'vue';
import Vuex from 'vuex';
import {state,getters} from './state';
import mutations from './mutations';
Vue.use(Vuex);
export default new Vuex.Store({
state,
getters,
mutations,
});
谢谢你的回答。您的回答引导我如何在Vuex.Store()
中定义这些内容,只需再做一些更改。
import Vue from 'vue';
import Vuex from 'vuex';
import {state,getters} from './state';
import mutations from './mutations';
Vue.use(Vuex);
export default new Vuex.Store({
state,
getters,
mutations,
});