Vue: ¿Cómo agregar una nueva propiedad a los datos de vue (objeto)?

Creado en 28 jul. 2016  ·  3Comentarios  ·  Fuente: vuejs/vue

mis datos van abajo

 data: {
                contacts: {
                    "1": {
                        isSelected: false,
                        UID:"1",
                        cardType: 0      
                    },
                    "2": {
                        isSelected: false,
                        UID:"2",
                        cardType: 0    
                    },
                    "3": {
                        isSelected: false,
                        UID:"3",
                        cardType: 0    
                     },
            }
...

Podría usar este método para agregar un nuevo contacto, pero tiene un problema de compatibilidad, por lo que me pregunto si hay otras formas de agregar una nueva propiedad al objeto, o será mejor que cambie para usar una matriz en lugar de un objeto.
this.contacts = Object.assign({}, this.contacts, newObj);

Muchas gracias.

Comentario más útil

Gracias, usando el método set, y está bien ahora.

this.$set('contacts[' + newPsgId + ']', newObj)
Vue.set(this.contacts[newPsgId], 'name', this.editPsgName);  

Todos 3 comentarios

Lea los documentos: Vue.set

Gracias, usando el método set, y está bien ahora.

this.$set('contacts[' + newPsgId + ']', newObj)
Vue.set(this.contacts[newPsgId], 'name', this.editPsgName);  

No me funciona la solución anterior (Vue^3.0.0)
Hacerlo por mi mismo. Espero que esto ayude a alguien.

this.$set(this.contacts, newPsgId, newObj)
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

paceband picture paceband  ·  3Comentarios

seemsindie picture seemsindie  ·  3Comentarios

hiendv picture hiendv  ·  3Comentarios

fergaldoyle picture fergaldoyle  ·  3Comentarios

franciscolourenco picture franciscolourenco  ·  3Comentarios