Обзор хуков жизненного цикла компонентов
Директивы и экземпляры компонентов имеют жизненный цикл, который определяет, как Angular создает, обновляет и уничтожает их.
Каждый интерфейс имеет единственный метод подключения, именем которого является имя интерфейса с префиксом ng. Например, интерфейс OnInit имеет метод ловушки ngOnInit (), который Angular вызывает вскоре после создания компонента:
Код TypeScript:
export class PeekABoo implements OnInit {
constructor(private logger: LoggerService) { }
// implement OnInit's `ngOnInit` method
ngOnInit() { this.logIt(`OnInit`); }
logIt(msg: string) {
this.logger.log(`#${nextId++} ${msg}`);
}
}
Ни одна директива или компонент не будет реализовывать все хуки жизненного цикла. Angular вызывает только метод ловушки директивы / компонента, если он определен .
Последовательность жизненного цикла
После создания компонента / директивы путем вызова его конструктора Angular в определенные моменты вызывает методы ловушки жизненного цикла в следующей последовательности:
крюк | Цель и сроки |
---|---|
.ngOnChanges () | Отвечать, когда Angular (re) устанавливает привязанные к данным свойства ввода. |
.ngOnInit () | Инициализируйте директиву / компонент после того, как Angular впервые отобразит свойства, связанные с данными |
ngDoCheck () | Обнаруживать и реагировать на изменения, которые Angular не может или не сможет обнаружить самостоятельно. Вызывается во время каждого запуска обнаружения изменений, сразу после ngOnChanges () и ngOnInit (). |
ngAfterContentInit () | Ответить после того, как Angular проецирует внешнее содержимое в представление компонента / представление, в котором находится директива. Вызывается один раз после первого ngDoCheck (). |
ngAfterContentChecked () | Отвечать после Angular проверяет содержимое, проецируемое в директиву / компонент. Вызывается после ngAfterContentInit () и каждого последующего ngDoCheck (). |
ngAfterViewInit () | Ответить после того, как Angular инициализирует представления компонента и дочерние представления / представление, в котором находится директива. Вызывается один раз после первого ngAfterContentChecked (). |
ngAfterViewChecked () | Отвечать после Angular проверяет представления компонента и дочерние представления / представление, в котором находится директива. Вызывается после ngAfterViewInit () и каждого последующего ngAfterContentChecked (). |
ngOnDestroy () | Очистка перед тем, как Angular уничтожит директиву / компонент. Отписаться Наблюдаемые и |
Другие угловые крючки жизненного цикла
Другие угловые подсистемы могут иметь свои собственные хуки жизненного цикла, кроме этих хуков компонентов.
Сторонние библиотеки могут также реализовывать свои хуки, чтобы дать разработчикам больший контроль над тем, как эти библиотеки используются.
Предыдущая: Взаимодействие компонентов
Далее: Стили компонентов
Новый контент: Composer: менеджер зависимостей для PHP , R программирования