Angular ngOnDestroy Gnybtas

Gnybtas ngOnDestroy suveikia pašalinus komponentą. Šiame gnybte galima atlaisvinti resursus, pašalinti prenumeratas į elementų įvykius, sustabdyti laikmačius ir pan.

Komponento sukūrimas ir pašalinimas Angular įvyksta, kai jis reaktyviai rodomas ir paslepiamas naudojant sąlygą if. Tai yra, Angular ne tik slepia komponentus, bet juos pašalina ir grąžina atgal.

Taip pat komponentai sukuriami ir pašalinami, kai jie reaktyviai perrenkami cikluose. Šiuo atveju Angular taip pat sukuria ir pašalina komponentus.

Pabandykime praktiškai. Importuokime interfeisą OnDestroy:

app/user/user.component.tsimport { OnDestroy } from '@angular/core';

Prijunkime jį prie klasės:

app/user/user.component.tsexport class UserComponent implements OnDestroy {
  
}

O dabar parašykime mūsų gnybtą:

app/user/user.component.tsexport class UserComponent implements OnDestroy {
  constructor() {
    console.log('constructor is started');
  }
  
  ngOnDestroy() {
    console.log('onDestroy is applied');
  }
}
Задание 1

Sukurkite reaktyvų if su kurio pagalba bus rodomas antrinis komponentas. Patikrinkite išmokto gnybto veikimą.

Задание 2

Pagrindiniame komponente pateiktas vartotojų vardų masyvas. Sukurkite antrinį komponentą su vartotoju. Pereikite masyvą ciklu ir išveskite komponentus su vartotojais. Sukurkite mygtuką, kurį paspaudus bus šalinami elementai iš masyvo. Patikrinkite, kad antriniuose komponentuose suveiks pašalinimo gnybtas.