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这就是为什么它被分配给
那个