【发布时间】:2016-04-29 03:00:41
【问题描述】:
正如标题所说,我使用他们页面中的示例为 VueJS 1.0.15 注册了 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 可能更容易帮助你调试它。
标签: javascript jquery-select2 vue.js