小编iGi*_*das的帖子

VueJS Select2指令不会触发@change事件

正如标题所说,我使用他们页面中的示例为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>
Run Code Online (Sandbox Code Playgroud)

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);
      },
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery-select2 vue.js

8
推荐指数
2
解决办法
2840
查看次数

标签 统计

javascript ×1

jquery-select2 ×1

vue.js ×1