Javascript Vuejs-在输入时,运行函数(但有延迟)
我有一个输入字段,Javascript Vuejs-在输入时,运行函数(但有延迟),javascript,vuejs2,vue.js,Javascript,Vuejs2,Vue.js,我有一个输入字段,v-on:input它运行一个名为activate的方法,如下所示: export default: { data() { return { isHidden: true } }, methods: { activate() { this.isHidden = false; } } } ishiden打开/关闭一些图标(这个数据属性是
v-on:input
它运行一个名为activate
的方法,如下所示:
export default: {
data() {
return {
isHidden: true
}
},
methods: {
activate() {
this.isHidden = false;
}
}
}
ishiden
打开/关闭一些图标(这个数据属性是什么并不重要;我只是出于示例目的使用它)
因此,当前,当用户执行输入时
会立即打开激活
功能。是否有办法通过setTimeout
将其设置为延迟?我尝试了以下操作,但不起作用:
methods: {
setTimeout(function() {
activate() {
this.isHidden = false;
}
}, 500)
}
试试这个:
methods: {
activate() {
setTimeout(() => this.isHidden = false, 500);
}
}
或不带箭头功能:
methods: {
activate() {
var that = this;
setTimeout(function() { that.isHidden = false; }, 500);
}
}
它是什么类型的输入?对于某些输入,您可能希望在触发
input
事件时运行任何方法。它只是一个标准文本输入字段。Joe Attardi的回答对我很有用,但我也会研究debounce/throttle.no,如果没有箭头函数,您将失去这方面的上下文。isHidden@Besi这就是为什么它被分配给那个
。