Angular의 ngOnDestroy 훅
ngOnDestroy 훅은 컴포넌트가
제거될 때 실행됩니다. 이 훅에서 리소스를
해제하거나, 요소 이벤트에 대한 구독을
삭제하거나, 타이머를 정리하는 등의 작업을
수행할 수 있습니다.
Angular에서 컴포넌트의 생성과 제거는
if 조건을 사용하여 컴포넌트가 반응적으로
표시되고 숨겨질 때 발생합니다. 즉, Angular는
컴포넌트를 단순히 숨기지 않고 제거했다가
다시 돌려받습니다.
또한 컴포넌트는 반복문 안에서 반응적으로 순회될 때도 생성되고 제거됩니다. 이 경우에도 Angular는 컴포넌트를 생성하고 제거합니다.
실제로 연습해 봅시다. OnDestroy
인터페이스를 임포트합니다:
app/user/user.component.tsimport { OnDestroy } from '@angular/core';
클래스에 인터페이스를 연결합니다:
app/user/user.component.tsexport class UserComponent implements OnDestroy {
}
이제 훅을 작성해 보겠습니다:
app/user/user.component.tsexport class UserComponent implements OnDestroy {
constructor() {
console.log('constructor is started');
}
ngOnDestroy() {
console.log('onDestroy is applied');
}
}
Задание 1
if를 사용하여 자식 컴포넌트가
표시되도록 반응적으로 만드세요.
학습한 훅의 동작을 확인하세요.
Задание 2
부모 컴포넌트에 사용자 이름 배열이 있습니다. 사용자를 위한 자식 컴포넌트를 만드세요. 배열을 반복문으로 순회하고 사용자 컴포넌트들을 출력하세요. 버튼을 만들어 클릭 시 배열에서 요소가 삭제되도록 하세요. 자식 컴포넌트에서 삭제 훅이 실행되는지 확인하세요.