Vue: Wie füge ich eine neue Eigenschaft zu vue (Objekt)-Daten hinzu?

Erstellt am 28. Juli 2016  ·  3Kommentare  ·  Quelle: vuejs/vue

Meine Daten stehen unten

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

Ich könnte diese Methode verwenden, um einen neuen Kontakt hinzuzufügen, aber es gab ein Kompatibilitätsproblem, also frage ich mich, ob es andere Möglichkeiten gibt, eine neue Eigenschaft zu einem Objekt hinzuzufügen, oder ich würde besser ändern, um Array anstelle von Objekt zu verwenden.
this.contacts = Object.assign({}, this.contacts, newObj);

Vielen Dank.

Hilfreichster Kommentar

Danke, mit der Set-Methode, und es ist jetzt in Ordnung.

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

Alle 3 Kommentare

Lesen Sie die Dokumentation: Vue.set

Danke, mit der Set-Methode, und es ist jetzt in Ordnung.

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

Die vorherige Lösung funktioniert bei mir nicht (Vue ^ 3.0.0)
Mach es selbst. Hoffe, das hilft jemandem.

this.$set(this.contacts, newPsgId, newObj)
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen