Хук ngOnDestroy во Angular

Хукот 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

Во родителската компонента е даден низа од имиња на корисници. Направете детска компонента со корисник. Прелистајте ја низата со јамка и прикажете компоненти со корисници. Направете копче, при кликнување на кое ќе се отстрануваат елементи од низата. Проверете дека во детските компоненти ќе се активира хукот за отстранување.