Bileşenler
Bileşenler, bir Açısal uygulamanın en temel UI yapı taşıdır. Açısal bir uygulama Açısal bileşenlerin bir ağaç içerir. Angular uygulamamız bileşen ağaç üzerine inşa edilmiştir . Her bileşenin şablonu, stili, yaşam döngüsü, seçici vb. Olmalıdır. Böylece, her bileşenin yapısı vardır. Bunlara kendi şablonu ve mantığı ile ayrı bir küçük web uygulaması olarak davranabilir ve diğerleriyle iletişim kurma ve birlikte kullanma imkanı bileşenler.
Bileşen için örnek .ts dosyası:
import { Component } from '@angular/core';
@Component({
// component attributes
selector: 'app-training',
templateUrl: './app-training.component.html',
styleUrls: ['./app-training.component.less']
})
export class AppTrainingComponent {
title = 'my-app-training';
}
ve ./app.component.html şablon görünümü:
Hello {{title}}
Sonra AppTrainingComponent şablonunu mantığı diğer bileşenlerde oluşturabilirsiniz (modüle ekledikten sonra)
<div>
<app-training></app-training>
</div>
ve sonuç olacak
<div>
my-app-training
</div>
AppTrainingComponent burada oluşturulduğu için
Bileşenler hakkında daha fazla bilgi edinin
Direktifleri
Yönerge, mevcut bir DOM öğesinin görünümünü veya davranışını değiştirir. Örneğin [ngStyle] bir direktiftir. Yönergeler bileşenleri genişletebilir (içlerinde kullanılabilir) ancak tam bir uygulama oluşturmazlar . Diyelim ki sadece bileşenleri destekliyorlar. Kendi şablonu yok (ancak elbette, şablonu onlarla manipüle edebilirsiniz).
Örnek direktif:
@Directive({
selector: '[appHighlight]'
})
export class HighlightDirective {
constructor(private el: ElementRef) { }
@Input('appHighlight') highlightColor: string;
@HostListener('mouseenter') onMouseEnter() {
this.highlight(this.highlightColor || 'red');
}
private highlight(color: string) {
this.el.nativeElement.style.backgroundColor = color;
}
}
Ve kullanımı:
<p [appHighlight]="color" [otherPar]="someValue">Highlight me!</p>
Direktifler hakkında daha fazla bilgi edinin
@Componentdekoratör aslında@Directiveşablon odaklı özelliklerle genişletilen bir dekoratördür - kaynak .