🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

throttle-debounce-directive

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

throttle-debounce-directive

throttle and debounce directive of Vue

latest
Source
npmnpm
Version
0.1.1
Version published
Maintainers
1
Created
Source

throttle-debounce-directive

Build Status

throttle and debounce directive of Vue

install

npm install throttle-debounce-directive -S

usage

debounce

import { debounce } from 'throttle-debounce-directive'

const fn = debounce(function () {
  console.log(1)
}, 100, true)
fn() // 立即执行一次
fn() // 不执行
fn() // 不执行
fn() // 不执行
setTimeout(() => {
  fn() // 执行
}, 100)

const fn1 = debounce(function () {
  console.log(2)
}, 100, false)

fn1() //cancle 不执行
fn1.cancel() // cancle 

throttle

import { throttle } from 'throttle-debounce-directive'

const fn = throttle(function () {
  console.log(1)
}, 300, { leading: true, trailing: false })

fn.cancel() // 取消执行

Vdebounce

import Vue from 'vue'
import { Vdebounce } from 'throttle-debounce-directive'
Vue.use(Vdebounce)
<div v-debounce="increment"></div> <!-- 默认 click 事件 默认 尾部执行  -->

<div v-debounce="()=>{ increment(1,2) }"></div> <!-- 传递参数 -->

<div v-debounce.immediate="increment"></div> <!-- 立即执行(放在首部执行) -->

<div v-debounce="{cb:()=>{ increment(1,2) },wait:100}"></div> <!-- 更改 wait 时间 默认 wait 300ms -->

<div v-debounce:scroll.immediate="{cb:increment,wait:100}"></div> <!-- 更改触发事件类型 -->

Vthrottle

import Vue from 'vue'
import { Vthrottle } from 'throttle-debounce-directive'
Vue.use(Vthrottle)
<div v-throttle="increment">你好</div> <!-- 默认 click 事件 默认首部 尾部都会触发 -->

<div v-throttle="()=>{ increment(1,2) }"></div> <!-- 传递参数 -->

<div v-throttle="{cb:increment,leading:false}"></div> <!-- 更改首部不执行 -->

<div v-throttle="{cb:()=>{ increment(1,2) },leading:false,wait:100}">你好</div> <!-- 更改节流时间 -->

<div v-throttle:scroll="{cb:()=>{ increment(1,2) },wait:100,trailing:false}"></div> <!-- 尾部不执行 -->

<div v-throttle:scroll="{cb:()=>{ increment(1,2) },leading:false,wait:100}"></div> <!-- 更改绑定事件类型 -->

API

debounce(cb,wait,immediate)

  • cb Function 必传选项 需要防抖的函数
  • wait Number 防抖的 时间 默认 300ms
  • immediate Boolean 是否立即执行(放在首部执行) 默认 false(尾部执行)

throttle(cb,wait,options)

  • cb Function 必传选项 需要节流的函数
  • wait Number 节流时间(多久触发一次) 默认 300ms
  • options Object 默认{leading: true,trailing: true} 首部尾部都执行

Keywords

throttle

FAQs

Package last updated on 19 Sep 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts