使用 Vue.js 3 和 lodash debounce 功能

Bla*_*bla 7 javascript vue.js vue-component vuejs3

有没有在方法上使用 lodash debounce 的解决方案?我还需要函数中的“this”。例子:

data() {
    info: 'Read Me!'
},
methods: {
  readData() {
      console.log(this.info)
  }
}
Run Code Online (Sandbox Code Playgroud)

在 Vue2 中我可以使用:

methods: {
  readData: debounce(function() {
      console.log(this.info)
  }, 500)
}
Run Code Online (Sandbox Code Playgroud)

Bou*_*him 6

您的数据属性应该是一个返回对象的函数:

data() {
   return{
    info: 'Read Me!'
   }
},
Run Code Online (Sandbox Code Playgroud)

并通过为去抖回调指定名称来编写您的方法:

methods: {
  readData: debounce(function debounceRead() {
      console.log(this.info)
  }, 500)
}
Run Code Online (Sandbox Code Playgroud)