Я новичок в VUE, и для одного проекта я пытаюсь обновить массив, передающий объект. У меня есть две кнопки, которые называются КНОПКА 1 и КНОПКА 2. Если вы нажмете КНОПКУ 1, она установит объект в list[]
с помощью this.$set
. Но когда КНОПКА 2 нажата, она должна обновиться с новым значением и должна отображаться как
{
a:1,
b:2,
c:3
}
Прямо сейчас я также использую this.$set
для кнопки 2, и она удаляет предыдущее значение, а затем добавляет новое только как {c:3}
. Есть ли способ добавить значение, используя VUE для отображения { a:1,b:2,c:3}
при нажатии КНОПКИ 2.
Вид
<div id = "app">
<button @click = "button1()">Button 1</button>
<button @click = "button2()">Button 2</button>
</div>
Метод
new Vue({
el: "#app",
data: {
list:[]
},
methods: {
button1(){
var b = '0';
this.$set(this.list, b, {
1:{
a: '1',
b: '2'
}
})
console.info(this.list);
},
button2(){
var b = '0';
this.$set(this.list, b,{
1:{
c: '3'
}
})
console.info(this.list);
},
}
})
Ниже есть ссылка jsfiddle для моего кода
Надеюсь, это сработает.
new Vue({
el: "#app",
data: {
list:[]
},
methods: {
button1(){
console.info('button 1');
const b = '0';
const restObj=this.list[b] && this.list[b][1]
this.$set(this.list, b, {
1:{
...restObj,
a: '1',
b: '2'
}
})
console.info(this.list);
},
button2(){
const b = '0';
const restObj=this.list[b] && this.list[b][1]
this.$set(this.list, b,{
1:{
...restObj,
c: '3'
}
})
console.info(this.list);
},
}
})