如標題所示,我使用來自其頁面的示例爲VueJS 1.0.15註冊了Select2指令。 我想捕獲@change事件,但它不起作用。VueJS Select2指令不會觸發@change事件
HTML:
<select v-select="item.service" :selected="item.service" @change="serviceChange(item)">
<option value="1">test 1</option>
<option value="2">test 2</option>
</select>
JS:
Vue.directive('select', {
twoWay: true,
params: ['selected'],
bind: function() {
var self = this
$(this.el)
.select2({
minimumResultsForSearch: Infinity
})
.val(this.params.selected)
.on('change', function() {
console.log('changed');
self.set(this.value);
})
},
update: function (value) {
$(this.el).val(value).trigger('change')
},
unbind: function() {
$(this.el).off().select2('destroy')
}
});
var Checkout = new Vue({
el: '.Checkout',
methods: {
serviceChange: function (item) {
console.log(item);
},
}
});
如果您爲它設置了jsfiddle,可能會更容易幫助您進行調試。 –