console
Vue.directive('integer', {
update: function (el, binding) {
let value = el.value.replace(/\D+/, '')
binding.value(el.name, value)
}
})
new Vue({
el: '#test',
data () {
return {
a: ''
}
},
methods: {
showData () {
console.log('a', this)
},
changeValue (name, value) {
console.log('name', name)
console.log('value', value)
this[name] = value
}
}
})
<script src="//cdn.bootcss.com/vue/2.2.1/vue.js"></script>
<div id="test">
<span>指令v-integer做整形限制。通过修改el.value不能同步到双向绑定的数据上。但是又不想每个字段单独做判定。</span><br />
<input type="text" name="a" v-integer="changeValue" v-model="a"/>
<span>{{a}}</span><br />
<button @click="showData">show data</button>
</div>