首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Vue 3使用throttle

对Vue 3使用throttle
EN

Stack Overflow用户
提问于 2021-10-25 09:02:01
回答 2查看 41关注 0票数 2

我在一个Vue 3项目中使用了lodash,当我尝试在setup函数中使用_.throttle时,它不起作用。我在stackblitz中写了一个演示。

代码语言:javascript
复制
<template>
  <div id="app">
    <button @click="handleClick">Click</button>
  </div>
</template>

<script>
import _ from 'lodash';

export default {
  name: 'App',
  setup() {
    const handleClick = () =>
      _.throttle(function () {
        console.log('hi');
      }, 2000);

    return {
      handleClick,
    };
  },
};
</script>

EN

回答 2

Stack Overflow用户

发布于 2021-10-25 09:07:41

您没有通过添加()来运行限制函数:

代码语言:javascript
复制
  const handleClick = () =>
      _.throttle(function () {
        console.log('hi');
      }, 2000)();

或者将其赋给一个变量,然后运行它:

代码语言:javascript
复制
  const handleClick = () =>{
     let throttled= _.throttle(function () {
        console.log('hi');
      }, 2000);
     
     throttled();
   }
票数 1
EN

Stack Overflow用户

发布于 2021-10-25 09:48:00

好了,我现在有解决方案了。我的同伴说省略() =>可以修复它,添加{ trailing: false }更好。

代码语言:javascript
复制
const handleClick = _.throttle(function () { console.log('hi'); }, 2000, { trailing: false });

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69705290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档