@ ist eine Verknüpfungsoption für v-on . Verwenden Sie @ nur, wenn Sie einige Vue-Methoden ausführen möchten. Da Sie keine Vue-Methoden ausführen, sondern die Javascript-Funktion aufrufen, müssen Sie das Attribut onchange verwenden , um die Javascript-Funktion aufzurufen
<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);
}
Wenn Sie Vue-Methoden aufrufen möchten, gehen Sie folgendermaßen vor:
<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);
}
}
})
Sie können das Datenattribut v-model für das select-Element verwenden, um den Wert zu binden.
<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,
},
...
...
methods:{
onChange:function(event){
console.log(this.selectedValue);
}
}
})
Hoffe das hilft :-)