javascript / expert
Snippet
Granulare Performance-Steuerung durch ChangeDetectorRef Detachment
Durch den Aufruf von 'detach()' am ChangeDetectorRef wird die Komponente aus dem automatischen Change-Detection-Baum entfernt. Dies ist entscheidend für Hochleistungsszenarien wie Echtzeit-Graphen oder WebGL-Wrapper, bei denen UI-Updates nur manuell über 'detectChanges()' basierend auf spezifischer Logik ausgelöst werden sollen.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Component({ selector: 'heavy-graph', template: `<div>{{ data }}</div>` })export class HeavyGraphComponent {data = 0;constructor(private cd: ChangeDetectorRef) {this.cd.detach();}updateData(val: number) {this.data = val;if (val % 10 === 0) {this.cd.detectChanges();}}}
angular
Erklärung
1
this.cd.detach();
Deaktiviert die automatische Änderungserkennung für diese Komponente und ihre Kinder.
2
this.cd.detectChanges();
Löst manuell eine lokale Prüfung der Änderungserkennung für die aktuelle View aus.