javascript / expert
Snippet
Fortgeschrittene Signal-Prädikate im blockbasierten Control-Flow
Der neue blockbasierte Control-Flow von Angular (@if) arbeitet nahtlos mit Signal-Prädikaten zusammen. Die Verwendung eines computed() Signals für die Bedingung stellt sicher, dass sich die DOM-Struktur nur aktualisiert, wenn die kombinierte Logik mehrerer Quell-Signals tatsächlich ihr boolesches Ergebnis ändert.
snippet.js
1
2
3
4
5
6
7
8
9
10
@if (isActionable()) {<button (click)="execute()">Submit</button>} @else {<p>Action locked.</p>}// Logicconst isActionable = computed(() =>status() === 'ready' && permissions().includes('write'));
angular
Erklärung
1
@if (isActionable()) {
Verwendet den Signal-Wert direkt als reaktive Bedingung im Template.
2
status() === 'ready' && permissions().includes('write')
Kombiniert mehrere reaktive Abhängigkeiten zu einem einzigen abgeleiteten Zustand.