Tengo una matriz en data()
:
data() { return { list: [], } }, methods: { pushData() { this.list.push({name:'yorn', age: 20}); } }
Ahora quiero pasar a la matriz de 'lista' del siguiente formato, la clave es info
:
list [ info [ { name:yorn, age: 20 } ] ]
Soy nuevo en vuejs y javascript, así que necesito la ayuda de todos. Por favor dame tu opinion. Gracias
Quiero empujar a la matriz 'lista' del siguiente formato, la clave es
info
lista: [ info: [ { nombre:yorn, edad: 20 } ] ]
El resultado esperado anterior no es un JSON
válido. Debería ser como a continuación :
list: [{ info: [{ name: yorn, age: 20 }] }]
Demostración de trabajo:
new Vue({ el: '#app', data: { list: [] }, mounted() { this.pushData(); }, methods: { pushData() { this.list.push({info : [{name:'yorn', age: 20}] }); // Or you can also use below one. // this.list[0].info.push({name:'yorn', age: 20}); } } })
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <div v-for="(obj, index) in list" :key="index"> <p v-for="(item, i) in obj.info" :key="i">{{ item.name }} </p> </div> </div>
Simplemente puede usar como a continuación
pushData() { let data = { info : [{name:'yorn', age: 20}] } this.list.push(data);
}
Espero que esto sea útil. :-)
Intente alterar el método pushData
para tener un parámetro de data
pushData(data) { this.list.push(data); }
Invocar el método
this.pushData({name: "john", age: 25});