Vue: Comment ajouter une nouvelle propriété aux données de vue (objet) ?

Créé le 28 juil. 2016  ·  3Commentaires  ·  Source: vuejs/vue

Mes données vont ci-dessous

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

Je pourrais utiliser cette méthode pour ajouter un nouveau contact, mais il y a un problème de compatibilité, donc je me demande s'il existe d'autres façons d'ajouter une nouvelle propriété à l'objet, ou je ferais mieux de changer pour utiliser un tableau au lieu d'un objet.
this.contacts = Object.assign({}, this.contacts, newObj);

Merci beaucoup.

Commentaire le plus utile

Merci, en utilisant la méthode set, et c'est OK maintenant.

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

Tous les 3 commentaires

Lisez la documentation : Vue.set

Merci, en utilisant la méthode set, et c'est OK maintenant.

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

La solution précédente ne fonctionne pas pour moi (Vue ^ 3.0.0)
Le faire moi-meme. J'espère que cela aide quelqu'un.

this.$set(this.contacts, newPsgId, newObj)
Cette page vous a été utile?
0 / 5 - 0 notes