Предотвратить обнаружение изменений от Injectable

Я опрашиваю сервер каждую секунду в инъекционном файле, но он запускает обнаружение изменений во всем приложении, вызывая дрожание прокрутки каждую секунду.

Пример: https://stackblitz.com/edit/angular-1z9hbx.

Есть ли способ предотвратить это без NgZone.runOutsideAngular?

Выполнение NgZone.runOutsideAngular приведет к тому, что перехватчики (которые в моем случае могут отображать модальные окна) также будут работать вне angular ... Что плохо?

Почему изменения в инъекционном препарате вызывают изменения в корневом компоненте?


person develop112    schedule 30.11.2018    source источник


Ответы (1)


Разве doCheck не запускает обнаружение изменений, а не опрос?

Из документов:

Ловушка жизненного цикла, которая вызывает настраиваемую функцию обнаружения изменений для директивы в дополнение к проверке, выполняемой детектором изменений по умолчанию.

person DeborahK    schedule 30.11.2018
comment
Документация непонятна? Я понимаю это как обратный вызов после того, как собственный детектор изменений angular сработал для разработчика - person develop112; 03.12.2018
comment
Вроде немного непонятно, пару раз приходилось читать как минимум - person develop112; 03.12.2018
comment
Вы видели это: blog.angular- University.io/ - person DeborahK; 03.12.2018