ng-model et de la valeur de la combinaison ne fonctionne pas pour l'entrée de la zone de texte
Je vais avoir deux entrées de la zone de texte.
J'ai besoin de combiner les valeurs saisies dans les deux zones de texte et de l'afficher dans la troisième.
Je suis capable de l'afficher si je n'utilise que le value
dans la troisième zone de texte.
Encadré 1:
<input type="text" ng-model="entity.name">
Encadré 2:
<input type="text" ng-model="entity.code">
Encadré 3:Encadré 1+Boîte 2
<input type="text" value="{{entity.name+ ' + ' + entity.code}}">
Cependant, si j'utilise un nom de modèle dans la troisième zone, la logique ne semble pas fonctionner:
<input type="text" value="{{entity.name+ ' + ' + entity.code}}"
ng-model="entity.fullCode">
Quelqu'un peut-il suggérer un correctif ??
ont u essayé
Que fait le "la logique ne semble pas être au travail"? Qu'est-ce que la "logique"?
Dev ,la Liaison de l'valeurs de deux zones de texte
essayé.Sa ne fonctionne pas
Merci @Foo.Cela m'a vraiment aidé
ng-value
?Que fait le "la logique ne semble pas être au travail"? Qu'est-ce que la "logique"?
Dev ,la Liaison de l'valeurs de deux zones de texte
essayé.Sa ne fonctionne pas
Merci @Foo.Cela m'a vraiment aidé
OriginalL'auteur forgottofly | 2015-02-05
Vous devez vous connecter pour publier un commentaire.
C'est une bonne question, car il illustre comment incorrect "de la pensée dans Angulaire" peut conduire à des problèmes.
Angulaire de commencer avec le premier modèle. Le point de Vue est lié au modèle et reflète pas l'inverse. Ce que je veux dire par là c'est que
ng-value
ne serait pas définir le modèle, bien qu'il serait de modifier l'affichage. Vous (ou plutôt, le contrôleur) est responsable de l'établissement du modèle.Donc, si vous avez besoin d'
entity.fullCode
à l'égalité de la concaténation deentity.name
etentity.code
, alors vous devez le régler dans le contrôleur.Par exemple, si tu voulais tout le temps
entity.name
ouentity.code
changement, alors vous pourriez le faire avec$watch
:Noter, cependant, que depuis que vous êtes de liaison
entity.fullCode
sur une autre entrée, la modification d'une entrée changeraitentity.fullCode
et ne serait pas la rendre égale à la+
des deux premières.fixe le "+"... Il est difficile de dire que c'est inutile car il n'est pas clair ce que l'objectif ultime est. Devrait-il être modifié que par les deux boîtes d'entrée? Puis
ng-change
sur chaque serait mieux. Btw, la profondeur de la montre (comme dans une autre réponse) est nettement moins efficaceVous avez raison. Il est facile de tomber dans ce genre de réflexion que j'ai fait.
OriginalL'auteur New Dev
Vous devez attribuer quelque chose à votre ng-attribut du modèle, de sorte qu'il peut se lier.
votre code semble être le travail. mais juste l'affichage des fins nous le faisons.
cheers
OriginalL'auteur Palani Kumar
Vous devez utiliser
$watch with true
Violon:- http://jsfiddle.net/405qc0xg/
Heureux de vous aider.
attention profonde d'une montre (avec
true
). Si vous avez un grand ou un objet imbriqué, ce serait extrêmement inefficace. Il est souvent moins coûteux à faible profondeur montre une expression:$watch("entity.name + entity.code", ...)
OriginalL'auteur squiroid
OriginalL'auteur rahul
Je suppose que vous êtes en utilisant controllerAs syntaxe et vous suggère de faire quelque chose comme cela dans votre contrôleur:
Vous pouvez ensuite déposer la valeur d'attribut et tout simplement se lier à l'élément par le biais des données-ng-model/ng-model.
Puis il suffit d'utiliser $champ d'application.de l'entité.quelle que soit la place 🙂 Voir si cela fonctionne pour vous.
Merci pour l'info:)
OriginalL'auteur MEAN Developer
Espère que cela vous aide, veuillez regarder dans le plunker
http://plnkr.co/edit/oMUABphr6JcNEhCnCDKq?p=preview
Le code ci-dessus dit, quand jamais l'objet 'obj' des modifications, puis le code à l'intérieur de l' $montre exécuter.
OriginalL'auteur Rajeshwar
Votre code devrait fonctionner. Voir ce JSFiddle pour un travail de démonstration.
Ah je vois ce que tu veux dire, alors vous devriez aller avec les accepté de répondre par @new-dev. Il le regarde
entity.name
etentity.code
les changements et crée explicitement les mises à jour/une troisième valeur de modèle.OriginalL'auteur RamboNo5