Angular에서 생명주기(Life Cycle)

Angular에서 생명주기(Life Cycle)

훅메서드 용도 실행시점 주의점

ngOnChanges() 바인딩된 입력 프로퍼티 값이 처음 설정되거나 변경될 때 실행됩니다. 이 메서드는 프로퍼티의 이전 값과 현재 값을 표현하는 SimpleChanges 객체를 인자로 받습니다. (컴포넌트에 입력 프로퍼티가 바인딩된 후) ngOnInit()이 실행되기 전에 한 번 실행되며 입력 프로퍼티로 바인딩된 값이 변경될 때마다 실행됩니다. 매우 자주 실행됩니다. 그래서 이 메서드에 복잡한 로직을 작성하면 애플리케이션 성능이 크게 저하될 수 있습니다.

ngOnInit() 디렉티브나 컴포넌트에 바인딩된 입력 프로퍼티 값이 처음 할당된 후에 실행됩니다. ngOnChanges()가 처음 실행된 후에 한 번 실행됩니다. ngOnInit() 템플릿에 입력 프로퍼티가 연결되지 않아 ngOnChanges()가 실행되지 않아도 실행

ngDoCheck() Angular가 검출하지 못한 변화에 반응하거나, Angular가 변화를 감지하지 못하게 할 때 사용합니다. ngOnInit()이 실행된 직후에 한 번 실행되며, 변화 감지 싸이클이 실행되면서 ngOnChanges()가 실행된 이후에 매번 실행됩니다.

ngAfterContentInit() Angular가 외부 컨텐츠를 컴포넌트나 디렉티브 뷰에 프로젝션한 이후에 실행됩니다. ngDoCheck()가 처음 실행된 후 한 번 실행됩니다.

ngAfterContentChecked() Angular가 디렉티브나 컴포넌트에 프로젝션된 컨텐츠를 검사하고 난 후에 실행됩니다. ngAfterContentInit()이 실행된 후, ngDoCheck()가 실행된 이후마다 실행됩니다.

ngAfterViewInit() Angular가 컴포넌트나 디렉티브 화면과 자식 컴포넌트 화면을 초기화한 후에 실행됩니다. ngAfterContentChecked()가 처음 실행된 후에 한 번 실행됩니다.

ngAfterViewChecked() Angular가 컴포넌트나 디렉티브 화면과 자식 화면을 검사한 후에 실행됩니다. ngAfterViewInit()가 실행된 후, ngAfterContentChecked()가 실행된 이후마다 실행됩니다.

from http://sac4686.tistory.com/44 by ccl(A) rewrite - 2021-08-23 19:00:48