Spec-Zone.ru › Angular

DoCheck

Хук жизненного цикла, который вызывает пользовательскую функцию обнаружения изменений для директивы в дополнение к проверке, выполняемой детектором изменений по умолчанию для входных привязок этой директивы в родительском шаблоне. Обратите внимание, что этот хук вызывается даже в том случае, когда обнаружение изменений для самой директивы пропускается (например, при использовании стратегии обнаружения изменений OnPush). Разработчики могут использовать этот хук для реализации пользовательской стратегии обнаружения изменений для некоторых входных данных.

OnChangesРуководство по хукам жизненного цикла

API

interface DoCheck {
  ngDoCheck(): void;
}

ngDoCheck

void

Метод обратного вызова, выполняющий обнаружение изменений; вызывается после того, как детектор изменений по умолчанию проверил входные привязки директивы в родительском шаблоне. См. KeyValueDiffers и IterableDiffers, чтобы узнать, как реализовать пользовательскую проверку изменений для коллекций.

@returnsvoid

Описание

Хук жизненного цикла, который вызывает пользовательскую функцию обнаружения изменений для директивы в дополнение к проверке, выполняемой детектором изменений по умолчанию для входных привязок этой директивы в родительском шаблоне. Обратите внимание, что этот хук вызывается даже в том случае, когда обнаружение изменений для самой директивы пропускается (например, при использовании стратегии обнаружения изменений OnPush). Разработчики могут использовать этот хук для реализации пользовательской стратегии обнаружения изменений для некоторых входных данных.

Алгоритм обнаружения изменений по умолчанию ищет различия, сравнивая значения привязанных свойств по ссылке между циклами обнаружения изменений. С помощью этого хука можно проверять изменения и реагировать на них другими способами.

Когда детектор изменений по умолчанию обнаруживает изменения входных привязок директивы, он вызывает ngOnChanges(), если этот метод предоставлен, независимо от того, выполняете ли вы дополнительное обнаружение изменений. Как правило, не следует использовать одновременно DoCheck и OnChanges для реакции на изменения одного и того же входного параметра.

Примечания по использованию

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

@Component({
        selector: 'my-cmp',
        template: `...`,
      })
      class MyComponent implements DoCheck {
        ngDoCheck() {
          // ...
        }
      }

Более подробный пример и обсуждение см. в разделе Определение пользовательского обнаружения изменений.

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/core/DoCheck

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API