📦 Angular Directives Deep Dive – Struktur, Verhalten & Best Practices
(Wie du mit eigenen Direktiven deine App flexibel & mächtig machst)
Direktiven sind Angulars Power Tool, um DOM-Struktur und -Verhalten zu erweitern.
Ob eigene Struktur-Direktiven oder Attribute – du kannst fast alles bauen.
1️⃣ Attribute Directives – Verhalten verändern
@Directive({
selector: '[appHighlight]'
})
export class HighlightDirective {
constructor(private el: ElementRef) {
el.nativeElement.style.backgroundColor = 'yellow';
}
}
✅ Direktiven für UI-Verhalten wie Highlighting, Tooltips, Loader-Logik u. v. m.
2️⃣ Structural Directives – DOM-Manipulation
@Directive({
selector: '[appIfLoggedIn]'
})
export class IfLoggedInDirective {
constructor(private view: ViewContainerRef, private template: TemplateRef<any>) {
if (userIsLoggedIn()) {
view.createEmbeddedView(template);
}
}
}
✅ Für eigene *ngIf
-artige Konstrukte – maximal flexibel!
3️⃣ Inputs in Direktiven
@Input('appHighlight') color = 'lightblue';
✅ Parameterisierbar machen – mehr Kontrolle, bessere Wiederverwendbarkeit
4️⃣ HostListener & HostBinding
@HostListener('mouseenter') onHover() {
this.bgColor = 'orange';
}
@HostBinding('style.backgroundColor') bgColor = '';
✅ Interaktive & performante Logik direkt am Element
5️⃣ Direktiven modular & testbar halten
- Kein Service-Zugriff in der Directive (besser delegieren)
- Eher klein, fokussiert, testbar – wie Pipes
- In Shared Modules gruppieren
Fazit
Direktiven geben dir die Power, Angular gezielt zu erweitern, ohne Komplexität zu erzeugen.
Richtig genutzt, sind sie das Cleanest API, das du bauen kannst.
👉 Nächster Beitrag:
🧠 Angular Signals – Computed, Effect & Reactive Thinking
Hast du Fragen oder ein Projekt im Kopf?
Ich freue mich auf deine Nachricht. Lass uns gemeinsam deine Vision verwirklichen!
Jetzt Kontakt aufnehmen