Использую Vue.js, имеется вот такой actions:
actions: {
chmy(store, i){
store.state.controls[i].isActive = true;
store.state.controls[i].isValid = store.state.myinputs[i].regexp.test(store.state.myinputs[i].value);
}
При запуске кода Vue.js ругается, что
Error: [vuex] Do not mutate vuex store state outside mutation handlers.
Как лучше всего написать мутацию? Ведь мне ещё нужно передать индекс массива controls i.
Попробовал так:
actions: {
chmy(store, i){
store.commit('updControls', {control: store.state.controls[i].isActive, val: true});
}
}
mutations: {
updControls(state, obj){
obj.control = obj.val;
}
}
но не работает. подскажите как правильно
mutations: {
chmy(state, i){
state.controls[i].isActive = true;
state.controls[i].isValid = state.myinputs[i].regexp.test(state.myinputs[i].value);
}
}
И вместо action сразу вызывать мутацию
Если нужно именно через action
actions: {
chmy(store, i){
store.commit("updControls", {
index: i,
value: {
isActive: true,
isValid: store.state.myinputs[i].regexp.test(store.state.myinputs[i].value)}})
}
}
}
},
mutations: {
updControls(state, {index, value}) {
state.controls[index] = value
}
}
actions: {
chmy({commit}, someObject){
commit('updControls', someObject);
}
}
mutations: {
updControls(state, someObject){
state.someStateObject = someObject;
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Javascript код веб сайта находятся в директории pulbic, должен ли я минифицировать свой код для готовой версии сайта ?
потихоньку пытаюсь начать разбираться в html, не понимаю как сделать так, чтобы пятый и последующие блоки (один, два) оставались в своей строке,...