基本上我需要的是每次值更改时调用find
方法。我不能使用VUE的watch
选项,因为我需要为很多模型调用相同的函数。
KeyPress
或KeyDown
几乎没有效果,除非它返回没有最后一个字符的值。例如,如果您输入123
,则text
函数中的find
将为12
<input type="text" v-model="name" v-on:keypress="find(name)">
<input type="text" v-model="name" v-on:keyDown="find(name)">
methods: {
find: function(text) {
console.log(text, this.name)
}
}
答案 0 :(得分:0)
您可以从传递给函数的键盘事件中提取键值。以下是小提琴:https://jsfiddle.net/brijkishor/bokcrzwt/6/
JS:
new Vue({
el: '#app',
data: {
message: 'Input key press',
name: ''
},
methods: {
find: function(keyEvent) {
console.log("key entered: ", keyEvent.key, ' : name: ', this.name);
}
}
})
// HTML
<div id="app">
<input type="text" v-model="name" v-on:keydown="find">
name: {{name}}
</div>
答案 1 :(得分:0)
解决,看看这里https://jsfiddle.net/0phLz311/6/不要忘记打开DevTools控制台以查看方法find
的预期行为。