J'ai le message d'erreur : "Object is possibly 'null'". dans la ligne modal.customWidth.extra_large
Mon code est :
<app-modal
#modal
[active]="hasCurrentProduct$ | async"
[modalWidth]="modal.customWidth.extra_large">
J'ai le message d'erreur : "Object is possibly 'null'". dans la ligne modal.customWidth.extra_large
Mon code est :
<app-modal
#modal
[active]="hasCurrentProduct$ | async"
[modalWidth]="modal.customWidth.extra_large">
Il existe un option strictNullInputTypes
qui s'y rapportent (pour les propriétés d'entrée).
Cela a été corrigé quelque peu avec https://github.com/angular/angular/issues/32051
Mais je suis venu avec ça pour certains scénarios :
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'default'
})
export class DefaultValuePipe implements PipeTransform {
constructor() {}
transform<T>(value: T | null | undefined, defaultValue: T): T {
return value ?? defaultValue;
}
}
Il suffit ensuite de l'ajouter après le async
[active]="hasCurrentProduct$ | async | default: false"
Cela rend les choses super claires et aucune de ces absurdités :
[active]="(hasCurrentProduct$ | async) ?? false"
En fait, dans cet exemple, ils sont à peu près identiques, mais des expressions plus complexes peuvent en bénéficier.
<div [style.width.em]="(catsCount$ | async | default: 1) * 30"></div>
You own {{ (cats$ | async | default: []).length }} cats
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.