La valeur spécifiée ne peut pas être analysée ou est hors de portée
Lorsque j'obtiens mon objet, j'ai formater un numéro avec un tuyau, mais cela renvoie cet avertissement et la valeur n'est pas affichée. Si je le supprime, il est affiché.
Cela n'affiche pas la valeur
<input name="value" [ngModel]="value | number : '1.2-2'"/>
Ceci affiche la valeur
<input name="value" [ngModel]="value"/>
TS Ici, je reçois mon objet par son identifiant après l'avoir choisie dans une liste.
ngOnInit(){
this.get();
}
get() {
this.service.get(this.id).subscribe(
(data) => {
this.object = data;
this.name = this.object.name;
this.value = this.object.value;
},
(error) => {
console.log(error);
}
);
}
La valeur est un nombre et je l'obtiens dans la console sans aucun problème.
Le problème n'est pas avec ngModel
mais avec la stratégie OnPush
.
Lorsque vous effectuez des travaux ASYNC, vous devez informer le détecteur de changement que vos données ont changé.
constructor(private cd: ChangeDetectorRef) {}
get() {
this.service.get(this.id).subscribe(
(data) => {
this.object = data;
this.name = this.object.name;
this.value = this.object.value;
// notify the cd here
this.cd.markForCheck();
},
(error) => {
console.log(error);
}
);
}