Спасибо, все получилось при использовании директив
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<div id="vue">
<input type="number" v-num="true" @keydown="return tonum(event)">
</div>
<script>
Vue.directive('num', function (el) {
addEventListener('keydown', event => {
if(event.target.type === 'number' && [187, 189,69].includes(event.keyCode))
event.preventDefault();
}, true)
})
var vue = new Vue({
el: '#vue',
methods: {
tonum() {
alert("working");
}
}
})
</script>