create Vue component
HTML
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<select2 v-model="sample"></select2>
{{sample}}<br/>
<select2 v-for="item, index in samples" v-model="item.value" ></select2>
{{samples}}
</div>
JavaScript
Vue.component("select2", {
props: ['value'],
render: function (createElement) {
var self = this
var items = []
for (var i = 0; i < 16; i++) {
items.push(createElement('option', { attrs: { value: i } }, i == 0 ? 'Under 1' : i))
}
return createElement('select', {
domProps: { value: self.value },
on: {
input: function (event) {
self.$emit('input', event.target.value);
}
}
}, items)
}
})
new Vue({
el: '#app',
data: {
sample: 0,
samples : [{ value: 0 }, { value: 0 }, { value: 0 }]
}
})