Vue: Как добавить новое свойство в данные vue (объекта)?

Созданный на 28 июл. 2016  ·  3Комментарии  ·  Источник: vuejs/vue

Мои данные идут ниже

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

Я мог бы использовать этот метод для добавления нового контакта, но у него возникла проблема совместимости, поэтому мне интересно, есть ли другие способы добавить новое свойство к объекту, или мне лучше перейти на использование массива вместо объекта.
this.contacts = Object.assign({}, this.contacts, newObj);

Большое спасибо.

Самый полезный комментарий

Спасибо, используя метод set, теперь все в порядке.

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

Все 3 Комментарий

Прочтите документы: Vue.set

Спасибо, используя метод set, теперь все в порядке.

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

Предыдущее решение у меня не работает (Vue^3.0.0)
Сделать это сам. Надеюсь, это поможет кому-то.

this.$set(this.contacts, newPsgId, newObj)
Была ли эта страница полезной?
0 / 5 - 0 рейтинги