Open manalaf opened 8 years ago
J'ai essayé de regarder. La variable glob concernant les deux premiers champ a bien la valeur "cal". Le data-binding fonctionne donc bien comme il faut. Il faut plutôt creuser du côté de l'initialisation de glob.
J'ai mis des console.log dans la méthode d'initialisation de glob et en voici les sorties :
id=Lf
this.glob[this.fields[i].id]=fix
id=F
this.glob[this.fields[i].id]=fix
id=Ks
this.glob[this.fields[i].id]=fix
id=If
this.glob[this.fields[i].id]=fix
id=YB
this.glob[this.fields[i].id]=fix
id=Q
this.glob[this.fields[i].id]=cal
id=Y
this.glob[this.fields[i].id]=fix
Object { Lf: "cal", F: "cal", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" }
Avant la ligne "Object...", on est dans initGlob et tout va bien. Par contre, plus tard dans le code le log de glob nous dit que les deux premiers champs sont à "cal". Reste à savoir qui a fait ça. Je subodore que c'est gestionRadios mais ça peut être un problème de data-binding. D'ailleurs, à quoi servent les :
<td *ngIf="option !='fix'" align="center">``` ?
Le *ngIf="option !='fix'"
sert à afficher les boutons radio que dans le cas ou le paramètre est à varier ou à calculer. Dans la calculette courbes de remous par exemple, tous les champs sont fixés, on n'a pas besoin de boutons radio.
Damned, ce matin, je n'ai pas le même résultat:
form_section.initFields fin
Object { Lf: "fix", F: "fix", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" }
C'est à n'y rien comprendre...
Quand je mets le console.log(this.glob)
au début de la méthode gestionRadios je retrouve :
Object { Lf: "cal", F: "cal", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" }
Tandis qu'à la fin de cette dernière je retrouve :
Object { Lf: "fix", F: "fix", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" }
( avec le changement lié à la case cochée)
C'est l'initialisation qui ne se fait pas correctement
C'est bon j'ai trouvé l'erreur, un '=' à la place de '==' faisait planter le data binding ..
Le glob est bien initialisé mais ça n'en a pas l'air sur la page web. De plus, les champs input sont disabled à cause de la condition suivante :
[disabled]="glob[param.id]!='fix'"
qui bloque la saisie si les champs sont à calculer ou à varier. Donc s'ils sont disabled cela voudrait dire qu'ils sont considérés comme cal dans glob. Tout cela est contradictoire.