Как правильно присваивать значение свойству во vue?
При создании экземпляра Vue пробегается по всем имеющимся свойствам на всю глубину и присобачивает к ним геттеры и сеттеры, которые запускают внутренние механизмы реакции на изменение свойтсв, делая их реактивными.
Когда вы просто добавляете новое свойство, никаких геттеров/сеттеров к нему автоматически не навешивается, и Vue не может отслеживать изменения.
Именно поэтому для добавления новых свойств необходимо использовать метод Vue.set(), который при создании через defineProperty проинициализирует все внутренние механизмы реактивности.
Вроде как, там сказано, что нельзя делать такdata() {
    return {
        a: {
            b: 5
        }
    }
},
methods: {
    method1() {
        this.a.c = 6 // нильзя
        this.a.b = 6 // можна
    }
}
Нельзя создавать новые вложенные значения таким способом, про менять уже существующие ничего не сказано