Задача: изменения с input(range) отправлять в разные
ключ:значение
в хранилище Vuex, но дело в том, что там было всё распределено по объектам, и input был не один.
Стэйт хранилища:
state: {
CarSetup: {
wheels: 0,
color: 0,
sim: 0,
},
}
Компонент с инпутами:
data(){
return{
rangeValues: {
wheels: 0,
color: 0,
sim: 0
},
}
},
computed: {
returnValue() {
return { ...this.rangeValues };
},
},
watch:{
returnValue(newValue, oldValue) {
if(newValue.wheels!= oldValue.wheels){
this.$store.commit('setCarInfo', {to: 'wheels', value: newValue.wheels})
}
if(newValue.color!= oldValue.color){
this.$store.commit('setCarInfo', {to: 'color', value: newValue.color})
}
if(newValue.sim!= oldValue.sim){
this.$store.commit('setCarInfo', {to: 'sim', value: newValue.sim})
}
},
}
Мутация:
mutations: {
setCarInfo(store, v){
store.CarSetup[v.to] = v.value
},
},
Хочу узнать:
Является ли этот способ "не костылём"?
Есть ли способы лучше?