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:
import { OnDestroy } from '@angular/core';
Prijunkime jį prie klasės:
export class UserComponent implements OnDestroy {
}
O dabar parašykime mūsų gnybtą:
export class UserComponent implements OnDestroy {
constructor() {
console.log('constructor is started');
}
ngOnDestroy() {
console.log('onDestroy is applied');
}
}
Sukurkite reaktyvų if su kurio pagalba
bus rodomas antrinis
komponentas. Patikrinkite išmokto
gnybto veikimą.
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.