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

Что такое потеря реактивности во Vue

Потеря реактивности в Vue происходит, когда изменения данных не вызывают обновления интерфейса. Основные причины:

  1. Добавление новых свойств в объект:
javascript
data() {
  return { user: { name: 'Alice' } }
}
// Не реактивно:
this.user.age = 25
// Реактивно:
this.$set(this.user, 'age', 25)
  1. Изменение длины массива:
javascript
// Не реактивно:
this.items.length = 0
// Реактивно:
this.items = []
  1. Индексы массива:
javascript
// Не реактивно:
this.items[0] = newValue
// Реактивно:
this.$set(this.items, 0, newValue)

Для объектов Vue использует Object.defineProperty (в Vue 2) или Proxy (в Vue 3), которые не отслеживают динамически добавляемые свойства. Все данные для реактивности должны быть объявлены изначально в data().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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