Как предотвратить обнаружение изменений при возникновении события при использовании 'changeDetection: ChangeDetectionStrategy.OnPush'?

У меня есть свойство getter с некоторыми сложными вычислениями и порядком, чтобы избежать ненужных changeDetections Я поменял на ChangeDetectionStrategy в OnPush,

Даже после использования ChangeDetectionStrategy.OnPush getter выполняется во всех возможных событиях, запущенных в представлении, как button clicks ,

И это вызывает некоторые серьезные проблемы с производительностью в моем приложении. Есть ли способ отключить обнаружение изменений и вызвать его только при необходимости? Благодарю.

1 ответ

Ваш вопрос очень расплывчатый, так как вы не предоставили пример кода. По этой причине действительно трудно найти причину, почему onPushстратегия не работает для вашего случая. Я бы посоветовал сравнить ваш код с примерами распространенных ошибок, упомянутых в этой статье.

Вы также можете рассмотреть возможность реализации ловушки жизненного цикла onChanges() и вручную определить случаи, для которых должны иметь место вычисления изменений.

Другие вопросы по тегам