Komponenten
Komponenten sind der grundlegendste Baustein der Benutzeroberfläche einer Angular-App. Eine Angular-App enthält einen Baum von Angular-Komponenten. Unsere Anwendung in Angular basiert auf einem Komponentenbaum . Jede Komponente sollte ihre Vorlage, ihr Design, ihren Lebenszyklus, ihren Selektor usw. haben. Jede Komponente hat also ihre Struktur. Sie können sie als eigenständige kleine Webanwendung mit eigener Vorlage und Logik behandeln und die Möglichkeit haben, mit anderen zu kommunizieren und zusammen verwendet zu werden Komponenten.
Beispiel-.ts-Datei für Komponente:
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';
}
und die Vorlagenansicht ./app.component.html:
Hello {{title}}
Anschließend können Sie die AppTrainingComponent-Vorlage mit ihrer Logik in anderen Komponenten rendern (nachdem Sie sie dem Modul hinzugefügt haben).
<div>
<app-training></app-training>
</div>
und das Ergebnis wird sein
<div>
my-app-training
</div>
als AppTrainingComponent wurde hier gerendert
Weitere Informationen zu Komponenten
Richtlinien
Die Richtlinie ändert das Erscheinungsbild oder Verhalten eines vorhandenen DOM-Elements. Zum Beispiel ist [ngStyle] eine Direktive. Direktiven können Komponenten erweitern (können in ihnen verwendet werden), aber sie erstellen keine ganze Anwendung . Nehmen wir an, sie unterstützen nur Komponenten. Sie haben keine eigene Vorlage (aber natürlich können Sie die Vorlage mit ihnen bearbeiten).
Beispielrichtlinie:
@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;
}
}
Und seine Verwendung:
<p [appHighlight]="color" [otherPar]="someValue">Highlight me!</p>
Weitere Informationen zu Richtlinien
@Component
Dekorateur ist tatsächlich ein@Directive
Dekorator, der um vorlagenorientierte Funktionen erweitert wurde - Quelle .