Встречается на собеседованиях • сегодня
Как работает реактивность во 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`)
- Не работает с индексами массива напрямую (методы массива переопределены)
- Не реактивны свойства, добавленные после инициализации
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы