Чтобы ваш первый пример реагировал, у свойства данных должны быть методы getter и setter. Вы можете прочитать об этом здесь .
Вкратце, если ваши данные выглядят так:
data() {
return {
car: {
make: '',
},
},
},
и вы хотите добавить свойство year
в качестве реактивных данныхвам нужно установить его где-то (например, в подключенном хуке)
mounted() {
this.$set(this.car, 'year', 2012)
},
рабочий пример
Но, если честно, когда вы знаете, какие свойства вам нужны, добавьтеих к вашим данным в начале.
data() {
return {
car: {
make: '',
year: '',
},
},
},