ანგულარში კომპონენტს აქვს სიცოცხლის ციკლი, რომელსაც ეწოდება ინგლისურად lifcycle და ეს სიცოცხლის ციკლი იწყება მაშინ, როდესაც ანგულარი ქმნის კლასს და არენდერებს კომპონენტის ხილულ ნაწლის (view)-ს.
სიცოცხლის ციკლი ანგულარში გრძელდება ცვლილებების დეტექტორით (change detection), რომლის დროსაც ანგულარი ამოწმებს კომპონენტის თვისებების ცვლილებას და ამის შემდეგ ის ანახლებს როგორც კომპონენტის ხილულ ნაწილს (view)-ს ასევე კომპონენტის (.ts) ფაილის მდგომარეობას (instance)-ს
სიცოცხლის ციკლი (lifecycle) სრულდება მაშინ, როდესაც ანგულარი გაანადგურებს შექმნილ კომპონენტს (destroys), ანუ დარენდერებულ DOM-ს.
ანგულარს აქვს ჩაშენებული სიცოცხლის ციკლის "ჰუკების" მეთოდები (lifecycke hooks methods) რომლებიც საშუალებას გვაძლევს ჩავებათ ცვლილებების დეტექციის დროს, მაგალითად ngOnDestroy()
მეთოდია როდესაც ანგულარი ანადგურებს კომპონენტს.
მაგალითი:
import { Component, OnDestroy } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnDestroy {
ngOnDestroy(): void {
console.log('component is destroyed');
}
}
მოცემულ მაგალითში ვიყენებთ ngOnDestroy()
"ჰუკს", როდესაც ანგულარის ცვლილებების დეტექტორი (change detector) გაანადგურებს კომპონენტს კონსოლში დაიბეჭდება "component is destroyed"
ტექსტი.
ანგულარში ყველა სიცოცხლის ციკლის "ჰუკს" (lifecycle hooks) აქვ თავისი ინტერფეისი, ხოლო მეთოდს აქვს პრეფიქსი ng
, თუ ზემოთ მოცემულ მაგალითს დააკვირდებით დაინახავთ რომ ინტერფეისის სახელია OnDestroy
, ხოლო მეთოდის სახელი ngOnDestroy()
ანგულარ აპლიკაციის დაწერისას არაა აუცილებელი მოთხოვნა გამოვიყენოთ რომელიმე სიცოცხლის ციკლი თუ ის არ გვჭირდება.
მას შემდეგ, რაც ჩვენი აპლიკაცია ქმნის კომპონენტის ან დირექტივის ინიციალიზაციას მისი კლასის კონსტრუქტორის დახმარებით, შემდეგ ანგულარი შეასრულებს სიცოცხლის ციკლის "ჰუკებს" შემდეგი თანმიმდევრობით
ჰუკის მეთოდის დასახელება | აღწერა | დროის მიმდევრობა |
ngOnChange() |
სრულდება მაშინ, როდესაც ანგულარი, ანიჭებს input propertie-ებს (ინფუთის თვისებებს) view-ს და კომპონენტს. (.html და .ts) მეთოდი იღებს პარამეტრად |
მოცემული "ჰუკი ეშვება "ჰუკი" ეშვება ყოველი ცვლილების დროს მაშინ, როდესაც შეიცვლება ნებისმიერი თვისება ჩვენს კომპონენტსა თუ დირექტივაში |
ngOnInit() |
მეთოდი სრულდება მას შემდეგ რაც არსებული კომპონენტის კონსტრუქტორი მოახდენს კომპონენტის ინიციალიზაციას |
მეთოდი სრულდება მხოლოდ ერთხელ მას შემდეგ რაც შესრულდება
|
ngDoCheck() |
მეთოდი სრულდება მას შემდეგ რაც გაეშვება კომპონენტის ცვლილებების დეტექტორი (change detector) |
მეთოდი სრულდება მეთოდი ეშვება |
ngAfterContentInit() |
მეთოდი სრულდება მას შემდეგ, რაც კომპონენტში მოხდება პროექცირებული კონტენტის ასახვა კომპონენტის ხილულ ნაწილში (view)-ში |
მეთოდი სრულდება ერთხელ |
ngAfterContentChecked() |
მეთოდი სრულდება მას შემდეგ რაც ანგულარი შეამოწმებს პროექცირებულ კონტენტს დირექტივასა ან კომპონენტში |
მეთოდი სრულდება |
ngAfterViewInit() |
მეთოდი სრულდება მას შემდეგ, რაც ანგულარი ქმნის კომპონენტის ხილულ ნაწილს (view)-ს ან კომპონენტის შვილ ხილულ (view) ნაწილებს |
მეთოდი სრულდება |
ngAfterViewChecked() |
მეთოდი სრულდება მას შემდეგ რაც შეამოწმებს კომპონენტის ხილულ ნაწილს (view)-ს ან მისი შვილის ხილულ ნაწილს (view)-ს ან ხილულ ნაწილს რომელიც შეიცავს დირექტივას |
მეთოდი სრულდება |
ngOnDestroy() |
მეთოდი შეგვიძლია გამოვიყენოთ ასინქორონული ოპერაციების გაუქმებისთვის, რაც საშუალებას გვაძლევს ავიცილოთ ე.წ. მეხსიერიბს გაჟონვები (memory leaks) |
მეთოდი სრულდება მას შემდეგ რაც, ანგულარი გაანადგურებს კომპონენტს ან დირექტივას |
შეისწავლეთ ვებდეველოპმენტის ენები სრულიად უფასოდ, ისეთები როგორებიცაა Javascript, HTML, CSS და კიდევ სხვა მრავალი ენა
ქვემოთ მოცემულია უახლესი 3 ბლოგი პროგრამირების თემატიკასთან დაკავშირებით