javascript / intermediate
Snippet
Benutzerdefinierte strukturelle Direktiven
Strukturelle Direktiven manipulieren das DOM-Layout, indem sie Elemente hinzufügen, entfernen oder verändern. Im Gegensatz zu Attribut-Direktiven verwenden sie ein TemplateRef, um den Inhalt des Elements zu erfassen, und ein ViewContainerRef, um zu steuern, wo dieser gerendert wird. Dieses Beispiel erzeugt eine Verzögerung, bevor der Inhalt angezeigt wird.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Directive({selector: '[appDelay]',standalone: true})export class DelayDirective implements OnInit {@Input() appDelay!: number;constructor(private templateRef: TemplateRef<any>,private viewContainer: ViewContainerRef) {}ngOnInit() {setTimeout(() => {this.viewContainer.createEmbeddedView(this.templateRef);}, this.appDelay);}}
angular
Erklärung
1
private templateRef: TemplateRef<any>
Referenziert den HTML-Inhalt innerhalb des Elements, auf das die Direktive angewendet wird.
2
this.viewContainer.createEmbeddedView(...)
Rendert das erfasste Template programmatisch in das DOM.