Опять же, из-за ограничений JavaScript, Vue не может обнаружить добавление или удаление свойств. Например:
varvm=newVue({data:{a:1}})// свойство `vm.a` реактивноvm.b=2// свойство `vm.b` НЕ реактивно
Vue не позволяет динамически добавлять новые реактивные свойства на корневом уровне уже созданного экземпляра. Тем не менее, можно добавить реактивные свойства к вложенному объекту с помощью метода Vue.set(object, propertyName, value). Например, для следующего:
varvm=newVue({data:{userProfile:{name:'Anika'}}})
Можно добавить новое свойство age для вложенного объекта userProfile:
Также можно использовать метод экземпляра vm.$set, который является псевдонимом для глобального Vue.set:
Иногда может потребоваться добавить ряд новых свойств существующему объекту, например, используя Object.assign() или _.extend(). В таких случаях, нужно создать новый объект со свойствами обоих объектов. Поэтому вместо:
Следует добавлять новые реактивные свойства таким образом: