J'essaie de déclencher la foo()
fonction avec le @click
mais comme vous pouvez le voir, vous devez appuyer deux fois sur le bouton radio pour déclencher l'événement correctement. Ne saisissez la valeur que la deuxième fois que vous appuyez sur ...
Je veux déclencher l'événement sans @click
déclencher uniquement l'événement lorsque v-model
(srStatus) change.
voici mon violon:
javascript
events
vue.js
jnieto
la source
la source
foo()
est d'apporter des modifications non au modèle, utilisez unwatcher
Réponses:
Cela se produit car votre
click
gestionnaire se déclenche avant que la valeur du bouton radio ne change. Vous devezchange
plutôt écouter l' événement:Assurez-vous également que vous voulez vraiment appeler
foo()
prêt ... il semble que vous ne vouliez peut-être pas faire cela.la source
Vous pouvez en fait simplifier cela en supprimant les
v-on
directives:Et utilisez la
watch
méthode pour écouter le changement:la source
Vue2: si vous voulez seulement détecter le changement sur le flou d'entrée (par exemple après avoir appuyé sur Entrée ou cliquez ailleurs), faites (plus d'informations ici )
Si vous souhaitez détecter des changements de caractère unique (lors de la saisie de l'utilisateur), utilisez
Vous pouvez également utiliser
@keyup
et des@input
événements. Si vous souhaitez passer des paramètres supplémentaires, utilisez un modèle, par exemple@keyDown="foo($event, param1, param2)"
. Comparaison ci-dessous (version modifiable ici )Afficher l'extrait de code
la source
@keyDown
jsfiddle.net/rLzm0f1q (mais je ne dis pas que@input
c'est mauvais ou bon)Vous devez utiliser
@input
:@input
se déclenche lorsque l'utilisateur modifie la valeur d'entrée.@change
se déclenche lorsque l'utilisateur a changé la valeur et une entrée floue (par exemple, cliqué quelque part à l'extérieur)Vous pouvez voir la différence ici: https://jsfiddle.net/posva/oqe9e8pb/
la source
Juste pour ajouter à la bonne réponse ci-dessus, dans Vue.JS v1.0, vous pouvez écrire
Donc, dans cet exemple, ce serait
Voir: http://v1.vuejs.org/guide/syntax.html#Arguments
la source