@zlodiak

Почему не срабатывает OnChanges-хук?

Есть родительский и дочерний компонент. Из родительского в дочерний посредством кликов по кнопкам передаются число и объект. Далее в шаблоне дочернего компонента переданные значения выводятся. Выводятся без проблем.

STACKBLITZ

Но в дочернем компоненте я реализовал хук OnChanges(), который тоже выводит эти значения. Проблема в том, что в случае прихода числа этот хук выполняется, а в случае прихода объекта - нет.

Я понимаю, что с точки зрения переменной, она как была объектом так им и осталась. Поэтому все происходящее логично. Но мне хотелось бы доработать код так чтобы OnChanges срабатывал в обоих случаях. Если такое возможно, то помогите пожалуйста реализовать.
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
StivinKing
@StivinKing
Хук OnChanges не отрабатывает на объект, так как ссылка на объект не меняется. Это всё тот же самый объект, даже если содержимое объекта изменилось. Чтобы данный хук отработал, нужно создать новый объект или воспользоваться хуком DoCheck и самим прописать логику обнаружения изменения

Вот пример - ссылка
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы