@はv-onのショートカットオプションです。@は、いくつかのVueメソッドを実行する場合にのみ使用してください。Vueメソッドを実行していないため、代わりにjavascript関数を呼び出しているため、onchange属性を使用して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);
}
Vueメソッドを呼び出したい場合は、次のようにします-
<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);
}
}
})
select要素でv-modeldata属性を使用して、値をバインドできます。
<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);
}
}
})
お役に立てれば :-)