Lifecycle sequence(生命周期流程)
After creating a component/directive by calling its constructor, Angular calls the lifecycle hook methods in the following sequence at specific moments:
Hook | Purpose and Timing |
---|---|
ngOnChanges() | Respond when Angular (re)sets data-bound input properties. The method receives a Called before |
ngOnInit() | Initialize the directive/component after Angular first displays the data-bound properties and sets the directive/component's input properties. Called once, after the first |
ngDoCheck() | Detect and act upon changes that Angular can't or won't detect on its own. Called during every change detection run, immediately after |
ngAfterContentInit() | Respond after Angular projects external content into the component's view. Called once after the first A component-only hook. |
ngAfterContentChecked() | Respond after Angular checks the content projected into the component. Called after the A component-only hook. |
ngAfterViewInit() | Respond after Angular initializes the component's views and child views. Called once after the first A component-only hook. |
ngAfterViewChecked() | Respond after Angular checks the component's views and child views. Called after the A component-only hook. |
ngOnDestroy | Cleanup just before Angular destroys the directive/component. Unsubscribe Observables and detach event handlers to avoid memory leaks. Called just before Angular destroys the directive/component. |