@ est une option de raccourci pour v-sur. Utiliser @ uniquement lorsque vous souhaitez exécuter certaines méthodes de Vue. Comme vous n'êtes pas de l'exécution de Vue des méthodes, au contraire, vous l'appel de fonction javascript, vous devez utiliser onchange attribut à l'appel de la fonction javascript
<select name="LeaveType" onchange="onChange(this.value)" class="form-control">
<option value="1">Annual Leave/ Off-Day</option>
<option value="2">On Demand Leave</option>
</select>
function onChange(value) {
console.log(value);
}
Si vous voulez l'appeler de Vue des méthodes, le faire de cette façon-
<select name="LeaveType" @change="onChange($event)" class="form-control">
<option value="1">Annual Leave/ Off-Day</option>
<option value="2">On Demand Leave</option>
</select>
new Vue({
...
...
methods:{
onChange:function(event){
console.log(event.target.value);
}
}
})
Vous pouvez utiliser v-modèle de données de l'attribut de l'élément select pour lier la valeur.
<select v-model="selectedValue" name="LeaveType" onchange="onChange(this.value)" class="form-control">
<option value="1">Annual Leave/ Off-Day</option>
<option value="2">On Demand Leave</option>
</select>
new Vue({
data:{
selectedValue : 1, // First option will be selected by default
},
...
...
methods:{
onChange:function(event){
console.log(this.selectedValue);
}
}
})
Espérons que cela Aide :-)