Comment utiliser les valeurs d'entrée each
dans events
? J'espère que mon code ci-dessous vous expliquera bien.
HTML:
<template name="UpdateAge">
{{#each Name}}
<div data-action="showPrompt">
<div>
Some content
</div>
<div>
<div>
Some content
</div>
</div>
<div>
Name : {{name}}
Age : <input type="text" name="age" value="{{age}}"/> //I need to access age values in event
</div>
</div>
{{/each}}
<template>
JS:
Template.UpdateAge.events({
'click [data-action="showPrompt"]': function (event, template) {
console.log(event.target.age.value); // TypeError: event.target.age.value is undefined
}
});
Je ne sais pas si mon approche est bonne pour passer des valeurs de paramètre à events
donc les suggestions sont les bienvenues.
la notation que vous utilisez n'est valide que pour les éléments de formulaire et lorsque event.target IS un élément de formulaire.
event.target.age.value
event.target est l'élément où l'événement s'est produit, event.currentTarget est l'élément qui a attaché le gestionnaire d'événements
si vous remplacez div
par form
et remplacez target
par currentTarget
, cela fonctionnera
event.currentTarget.age.value
ici un violon en utilisant votre code
Si l'événement est lié au conteneur div, l'entrée doit être recherchée depuis la cible, car event.target
vous donnerait l'élément auquel l'événement était attaché.
Pour accéder à n'importe quelle valeur dans div
, vous devez d'abord avoir accès à cet élément, puis utiliser les propriétés de cet élément pour accéder à tout ce qui est nécessaire - .value
dans ce cas.