top of page

Ein tiefer Tauchgang in Angular 17.3: Neue Features und Signal-basierte Reaktivität

nicolasmerz

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.



Angular


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


bottom of page