Migrer vers les Signal avec toSignal()
Il est SUPER facile dâadopter les Signals dĂšs aujourdâhui dans vos applications Angular 16+.
Il suffit dâutiliser toSignal().
@Component({
standalone: true,
template: `
<ul>
<li *ngFor="let todo of todos()">
{{todo.title}}
</li>
<ul>
`,
})
export class TodosComponent {
http = inject(HttpClient);
todos = toSignal(this.http.get('https://jsonplaceholder.typicode.com/todos'))
}
Cette fonction, dispo depuis la version 16, accepte un Observable en argument pour le caster en Signal. Il ne vous reste plus quâĂ utiliser votre Signal dans le template par exemple. En plus de cela, lâObservable est automatiquement unsubscribe au destroy du contexte !
Important : toSignal()
va directement souscrire Ă lâObservable mĂȘme si vous le lâutilisez pas dans le template. Egalement, toSignal()
doit ĂȘtre utilisĂ© dans un contexte dâinjection, plus dâinfos dans la section commentaires.