angular2 case ng-model pas mis à jour
Je suis en train d'essayer une chose simple avec Angular 2.0
Je veux lier un modèle à une "entrée case, inscrivez le "changement" avec une méthode, ont la méthode exécutée lorsque la case à cocher de l'etat est modifiée et de la loi sur la fonction de l'état du modèle.
Tout fonctionne, mais, lorsque la méthode liée à l'événement change est exécutée, l'état du modèle est le contraire de ce que j'attends, c'est à dire la valeur false lorsque la case est cochée, est vrai si la case n'est pas cochée.
Voici l'extrait de code;
<input value={{object.name}} type="checkbox" [(ng-model)]="object.selected" (change)="onChange(object.selected)">
La moindre idée de ce que je fais de mal?
- Première question sur stackoverflow. Impossible de coller un extrait de code html.
- vous pouvez coller le code brut de toute façon
- collez le code sélectionné et cliquez sur l'icône du code de
- "'<input value={{objet.name}} type="checkbox" [(ng-model)]="l'objet.sélectionné" (modifier)="onChange(objet.sélectionné)">'"
- merci, maintenant le code est visible dans les questios
- C'est simple: vous modifiez votre question, vous collez le code, vous le sélectionnez et vous appuyez sur la touche Ctr-K (ou cliquez sur le bouton de la barre d'outils pour "code", qui ressemble à ceci:
{}
. - Je vous recommande d'utiliser ng-cliquez sur insted ng-changement de sorte que le onChange() vérifie si le a Vrai ou Faux et de le modifier
Vous devez vous connecter pour publier un commentaire.
De angular2.beta8 cette simple astuce va faire
Angulaires 4, il faut rajouter la
name
attribut pour que cela se lier.Un moyen de le faire sans ngModel
displayValue serait getter/setter
setDisplayValue() méthode de mise à jour de l'enregistrement, et donc displayValue serait mis à jour
Pour moi ne fonctionne que lorsque j'ai utilisé
(ngModelChange)
:Si j'utilise
(change)
ou(click)
l'état est toujours le contraire de ce que j'attends, comme vous l'avez ditJ'ai mis en œuvre comme ceci:
<input #angularcb type="checkbox" (change)="angular = angularcb.checked" />
Vous pouvez aussi voir plus de détails et une démo en live ici: http://www.syntaxsuccess.com/viewarticle/input-controls-in-angular-2.0
http://www.syntaxsuccess.com/angular-2-samples/#/demo/input
*ngFor
?HTML:
Vous pouvez également essayer et d'inspecter l'objet d'événement et il suffit de tirer le vérifiée paramètre
essayer
app.html
app.ts
Essayer comme ça.
N'oubliez pas d'inclure un nom ou la case à cocher ne sera pas mise à jour et vous obtiendrez un message d'erreur sur la console.
Angulaire 2.x.x stable :
moyen facile de savoir qu'une case est cochée ou non :
ts:
il suffit d'écrire vérifié dans la balise de type d'entrée :
HTML:
Entrée
Événement De Changement De