




Да.
Как и при обнаружении изменений на основе зон, он предотвращает проверку ваших компонентов, если в этом нет необходимости, и, таким образом, повышает производительность каждого компакт-диска.
Компоненты, использующие стратегию обнаружения изменений OnPush, будут проверены при обнаружении изменений, если родительский элемент был проверен и если:
markForCheck()/AsyncPipe)Можно сказать, что стратегия OnPush решает, какой компонент будет проверяться CD.
Приложениям Angular также необходимо решить, когда с помощью ApplicationRef срабатывает галочка. Это то, что мы называем планированием. Когда на самом деле стартует CD?
В приложениях Zone Zone.js является планировщиком посредством исправления всех асинхронных API (setTimeout(), Promise, addEventListener() и т. д.). Когда один из них вызывается, запланирован компакт-диск.
В бесзональных приложениях это больше невозможно, поскольку никакие API не исправлены. Платформе необходимо найти другой способ планирования CD. Сегодня он использует следующее:
set() или update())markForCheck() или AsyncPipeПодводить итоги:
OnPush — какой компонент проверяетсяТакже, чтобы внести ясность: OnPush не является значением по умолчанию при использовании бесзонального планирования.