Встречается на собеседованиях • сегодня

Как работает реактивность во Vue2

Во Vue2 реактивность реализована через геттеры/сеттеры с помощью Object.defineProperty(). При инициализации компонента Vue обходит все свойства data и преобразует их в реактивные:

js
const data = { count: 0 };
const vm = new Vue({ data });

// Vue преобразует это в:
Object.defineProperty(data, 'count', {
get() { /* отслеживание зависимостей / },
set(newVal) { /
уведомление подписчиков */ }
});

text

При изменении свойства Vue:
1. Перехватывает изменение через сеттер
2. Уведомляет все зависимости (например, computed-свойства, watchers, DOM-обновления)
3. Запускает механизм обновления компонента

Ограничения:
- Не отслеживает добавление/удаление свойств (нужен `Vue.set`/`Vue.delete`)
- Не работает с индексами массива напрямую (методы массива переопределены)
- Не реактивны свойства, добавленные после инициализации
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы