#vue.js #vuejs2 #vuex
#vue.js #vuejs2 #vuex
Вопрос:
Так, например, мой ответ json выглядит так:
"name": "John"
"value": "5"
Затем я передаю его в свое состояние
commit("SET_USER", response.data.user);
Но, если name == «John», я хочу, чтобы значение было равно 10 и передавало его в mutation. Возможно ли это сделать? Я могу получить доступ к значению следующим образом response.data.user[0].value
if(response.data.user[0].name == "John") {
response.data.user[0].value == "10"
}
commit("SET_USER", response.data.users); // <-- state.cards
})
Комментарии:
1. Вопрос в том, как написать оператор if или что-то еще?
2. Я полагаю, что это оператор if, я попытался сравнить user [0].значение с user [0].name, а затем установить значение, но я не знаю, в какое место я должен поместить это. Я продолжал получать значение ошибки none.
Ответ №1:
Вы могли бы использовать map
функцию :
commit("SET_USER", response.data.user.map(item=>{
if(item.name=='John'){
item.value=10
}
return item;
}));
если вы уже знаете индекс :
let users=response.data.user;
if(users[0].name == "John") {
users[0].value = 10
}
commit("SET_USER", users);