0
基於此示例https://vuejs.org/examples/select2.html 我嘗試創建組件供將來重新使用。 不幸的是,我的代碼不起作用。模板中的Vue.js指令
HTML:
<template id="my-template">
<p>Selected: {{selected}}</p>
<select v-select="selected" :options="options">
<option value="0">default</option>
</select>
</template>
<div id="app">
<my-component></my-component>
</div>
VUE:
Vue.component('my-component', {
template: '#my-template'
})
Vue.directive('select', {
twoWay: true,
priority: 1000,
params: ['options'],
bind: function() {
var self = this
$(this.el)
.select2({
data: this.params.options
})
.on('change', function() {
self.set(this.value)
})
},
update: function (value) {
$(this.el).val(value).trigger('change')
},
unbind: function() {
$(this.el).off().select2('destroy')
}
})
var vm = new Vue({
el: '#app',
data: {
selected: 0,
options: [
{ id: 1, text: 'hello' },
{ id: 2, text: 'what' }
]
}
})
https://jsfiddle.net/xz62be63/
感謝您的幫助!
謝謝,萊納斯!你的解釋對我來說非常有用! – Mugik
另外:檢查jQuery的版本。由於我的小提琴包含jquery v2.1.4,因此即使使用空數據,jquery-select2也未初始化。 – Mugik