Middle
როგორ მუშაობს Angular?
sobes.tech AI
პასუხი AI-სგან
Angular MVC/MVVM არქიტექტურაზეა დაფუძნებული. ის იყენებს კომპონენტებს, მონაცემთა ბმულს და დამოკიდებულებების ინექციას ინტერფეისის შექმნისთვის.
ძირითადი კონცეფციები:
- კომპონენტები: აპლიკაციის მშენებლობის ბლოკები, რომლებიც შედგება შაბლონიდან, კლასიდან და სტილებიდან.
- მოდულები (NgModules): აერთიანებს დაკავშირებულ კომპონენტებს, სერვისებს და სხვა ელემენტებს.
- მონაცემთა ბმული: სინქრონიზებს მონაცემებს მოდელის და წარმოდგენის შორის.
- ერთმხრივი ბმული: მონაცემები მიედინება ერთ მიმართულებით (მაგალითად, მოდელიდან წარმოდგენამდე).
- ორმხრივი ბმული
[()]: ცვლილებები მოდელში გავლენას ახდენს წარმოდგენაზე და პირიქით.
- სერვისები: უზრუნველყოფს ფუნქციონალობას, რომელიც შეიძლება გამოყენებულ იქნას სხვადასხვა კომპონენტში (მაგალითად, HTTP მოთხოვნებთან მუშაობა).
- დამოკიდებულებების ინექცია (DI): მექანიზმი, რომელიც უზრუნველყოფს დამოკიდებულებების მიწოდებას (მაგალითად, სერვისები) კომპონენტებს.
- შაბლონები: HTML-ის გაფართოებები Angular სინტაქსით, მონაცემების ჩვენებისა და მოვლენის დამუშავებისთვის.
- Direktირებები: ცვლის DOM ელემენტების ქცევას ან გარეგნობას.
- სტრუქტურული: დამატება, წაშლა ან მართვა DOM ელემენტების (მაგალითად,
*ngIf,*ngFor). - Attributes: ცვლის არსებული ელემენტის გარეგნობას ან ქცევას (მაგალითად,
[ngClass],[ngStyle]).
- სტრუქტურული: დამატება, წაშლა ან მართვა DOM ელემენტების (მაგალითად,
- კომპონენტების სიცოცხლის ციკლი: ხლიკების ნაკრები, რომელიც საშუალებას აძლევს კოდის შესრულებას კომპონენტის ცხოვრების სხვადასხვა ეტაპზე (მაგალითად,
OnInit,OnDestroy). - NgZone: უზრუნველყოფს ავტომატურ ცვლილებების აღმოჩენას და წარმოდგენის განახლებას ასინქრონული ოპერაციების დროს.
სამუშაო პროცესი:
- ჩატვირთვა: აპლიკაცია იტვირთება, Bootstrap მოდული იწყებს ძირითადი კომპონენტის გაშვებას.
- რენდერობა: Angular კოდის შაბლონებს და კომპილირებს და ქმნის DOM-ის სტრუქტურას.
- მონაცემთა ბმული: მონაცემებს და წარმოდგენას შორის კავშირი დამყარდება.
- მოვლენების დამუშავება: მოვლენის მიმღებები რეაგირებენ მომხმარებლის მოქმედებებზე.
- ცვლილებების აღმოჩენა: ზონა აკვირდება ასინქრონულ ოპერაციებს.
- მოდელის განახლება: ცვლილებების აღმოჩენისას Angular განაახლებს შესაბამის ნაწილებს DOM-ის.
ორმხრივი ბმულის მაგალითი:
<!-- შაბლონში -->
<input [(ngModel)]="userName">
<p>გამარჯობა, {{ userName }}!</p>
// კომპონენტის კლასში
export class MyComponent {
userName: string = '';
}