Доброго времени суток.
Имеется vuex, в котором есть переменная хранящая в себе массив объектов. Нужно сделать, чтобы была возможность изменять объекты внутри массива и все это сразу бы отражалось в компоненте Vue. В самом компоненте примерно такой код
computed:{
view(){
return this.$store.getters.getView;
}
}
В Vuex пробовал подобный код
EDIT_VIEW_LIST(state, item){
state.listView.forEach((elem,idx)=>{
if(elem.id===item.id){
elem=item;
}
})
}
и такой
EDIT_VIEW_LIST(state, item){
let idx=state.listView.findIndex((elem,idx)=>{
return elem.id===item.id;
});
if(idx){
state.listView[idx]=item;
}
}
Но компонент Vue не реагирует на подобные изменения. На данный момент решил проблему следующим способом:
EDIT_VIEW_LIST(state, item){
state.listView=state.listView.map((elem,idx)=>{
return elem.id===item.id ? item : elem;
})
}
Но мне кажется, что это не совсем правильный способ. Подскажите как лучше выполнить данное изменение массива?