首页  >  问答  >  正文

在 debounce 函数中访问 this.$router

我想根据用户输入的内容更改 URL。 防抖功能工作正常。但我似乎无法访问“this”变量。

“this”隐式具有类型“any”,因为它没有类型注释

searchbarPokemon: debounce(function (e: any) {
  this.$router.push(e.target.value);  
  console.log(e)
}, 1000)

而且去抖动发回的数据是最后一个字母。可以得到完整的句子吗?

编辑:在e.target.value处找到完整值

P粉541796322P粉541796322430 天前655

全部回复(1)我来回复

  • P粉968008175

    P粉9680081752023-09-07 15:38:08

    您可以创建一个箭头函数来保留this'上下文:

    searchbarPokemon: debounce((e: any) => {
      this.$router.push(e.target.value);  
      console.log(e)
    }, 1000)
    

    回复
    0
  • 取消回复