Ein tiefer Tauchgang in Angular 17.3: Neue Features und Signal-basierte Reaktivität
Das Angular 17.3 Release bringt uns einen großen Schritt näher an eine vollständig signalbasierte reaktive Welt in Angular. Lassen Sie uns die spannenden neuen Features, die diese Version mit sich bringt, genauer unter die Lupe nehmen.

Die neue output() Funktion
Die output() Funktion bietet eine vereinfachte Alternative zum traditionellen @Output() Decorator. Sie ermöglicht es, Outputs auf eine konzisere und konsistentere Weise zu definieren.
Beispiel:
TypeScript
@Component({
selector: 'app-todo',
template: `
<button (click)="addToDo()">Add To-Do</button>
`
})
export class TodoComponent {
@Output() todoAdded = output<string>();
addToDo() {
this.todoAdded.emit('New To-Do');
}
}
RxJS Interoperabilität mit Outputs
Angular 17.3 ermöglicht eine nahtlose Interoperabilität zwischen RxJS Observables und Outputs. Sie können Outputs mühelos in Observables umwandeln und umgekehrt.
Beispiel:
TypeScript
import { fromEvent } from 'rxjs';
import { map } from 'rxjs/operators';
// Erstellen eines Outputs aus einem Observable
const counter$ = fromEvent(document, 'click').pipe(map(event => event.target.textContent));
@Output() counter = output<number>(counter$);
// Umwandeln eines Outputs in ein Observable
const todoAdded$ = outputToObservable(this.todoAdded);
todoAdded$.subscribe(todo => console.log(todo));
Was kommt als Nächstes für Angular?
Das nächste große Feature, das für Angular geplant ist, ist das signal:true Flag. Dieses Flag wird explizit angeben, dass eine Komponente signalbasierte Änderungsdetektion verwendet. Dies ist ein entscheidender Schritt hin zu einem vollständig signalbasierten Angular.
Fazit
Das Angular 17.3 Release bringt aufregende neue Features mit sich, die die Entwicklung vereinfachen und die Leistung verbessern. Durch das Beherrschen der output() Funktion und der RxJS Interoperabilität können Sie die Leistungsfähigkeit von Signalen in Ihren Angular-Anwendungen voll ausschöpfen. Bleiben Sie gespannt auf weitere Updates, da sich Angular weiterhin zu einer vollständig signalbasierten Plattform entwickelt.
Comments