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
infolista: [ 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});