Не отрабатывает ngOnInit, хотя элемент отрисовался. В чём может быть дело?

Хуки ангуляр отрабатывают у всех элеменов, но в этом случае у меня не отрабатывают.
Почему, если я выключаю отслеживание изменений , то во вложенных элементах не отрабатывает ngOnInit?
Хотя я вижу дочерний элемент- он отрисовался. Должен же сработать ngOnInit.

Parent Component constructor
private cd: ChangeDetectorRef,
      private workerService: WorkerService
) {
    cd.detach();
    ....
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
Ahmad66617
@Ahmad66617
Senior Fullstack Engineer
Посмотрите документацию(https://angular.io/api/core/ChangeDetectorRef) - как работает стратегия обнаружения изменений --> метод detach, когда вручную контролируете обнаружение изменений не блокирует отрисовку(вы написали что контент отобразился) - а отключает обнаружение изменений(например если в компонент летят асинхронные данные - то они отрисованы не будут до команды detectChanges). Хук OnInit срабатывает единоразово только когда детектор изменений в первый раз проверил компонент на изменения - а вы их заблокировали вручную(https://angular.io/api/core/OnInit) - в доках все есть, внимательнее читайте!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы