首页 > 解决方案 > 使用带有 lodash debounce 功能的 Vue.js 3

问题描述

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

data() {
    info: 'Read Me!'
},
methods: {
  readData() {
      console.log(this.info)
  }
}

在 Vue2 中,我可以使用:

methods: {
  readData: debounce(function() {
      console.log(this.info)
  }, 500)
}

标签: javascriptvue.jsvue-componentvuejs3

解决方案


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

data() {
   return{
    info: 'Read Me!'
   }
},

并通过为去抖动回调命名来编写您的方法:

methods: {
  readData: debounce(function debounceRead() {
      console.log(this.info)
  }, 500)
}

推荐阅读