Vue: Como adicionar uma nova propriedade aos dados vue (objeto)?

Criado em 28 jul. 2016  ·  3Comentários  ·  Fonte: vuejs/vue

Meus dados vão abaixo

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

Eu poderia usar esse método para adicionar um novo contato, mas ele teve um problema de compatibilidade, então eu me pergunto se existem outras maneiras de adicionar uma nova propriedade ao objeto, ou é melhor mudar para usar array em vez de objeto.
this.contacts = Object.assign({}, this.contacts, newObj);

Muito obrigado.

Comentários muito úteis

Obrigado, usando o método set, e está tudo bem agora.

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

Todos 3 comentários

Leia os documentos: Vue.set

Obrigado, usando o método set, e está tudo bem agora.

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

A solução anterior não funciona para mim (Vue ^ 3.0.0)
Fazer eu mesmo. Espero que isso ajude alguém.

this.$set(this.contacts, newPsgId, newObj)
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

gkiely picture gkiely  ·  3Comentários

robertleeplummerjr picture robertleeplummerjr  ·  3Comentários

seemsindie picture seemsindie  ·  3Comentários

fergaldoyle picture fergaldoyle  ·  3Comentários

lmnsg picture lmnsg  ·  3Comentários