SOURCE

console 命令行工具 X clear

                    
>
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>