zoukankan      html  css  js  c++  java
  • vue中的防抖和节流

    原生js都是通过自己定义函数来实现的,vue中 可以直接使用 loadsh 中封装好的 ,loadsh 向外 暴露了 { throttle, debounce } 这两个方法 

    import { throttle, debounce } from 'lodash' 
    /**
     * 函数节流装饰器
     * @param {number} wait 节流的毫秒
     * @param {Object} options 节流选项对象
     * [options.leading=true] (boolean): 指定调用在节流开始前。
     * [options.trailing=true] (boolean): 指定调用在节流结束后。
     */
    export const throttle =  function(wait, options = {}) {
      return function(target, name, descriptor) {
        descriptor.value = throttle(descriptor.value, wait, options)
      }
    }
    
    /**
     * 函数防抖装饰器
     * @param {number} wait 需要延迟的毫秒数。
     * @param {Object} options 选项对象
     * [options.leading=false] (boolean): 指定在延迟开始前调用。
     * [options.maxWait] (number): 设置 func 允许被延迟的最大值。
     * [options.trailing=true] (boolean): 指定在延迟结束后调用。
     */
    export const debounce = function(wait, options = {}) {
      return function(target, name, descriptor) {
        descriptor.value = debounce(descriptor.value, wait, options)
      }
    }
    封装之后再组件中使用
    
     
    import {debounce} from '@/decorator'

    export default { methods:{ @debounce(100) resize(){} } } 【代码来自五毛的笔记本个人网站】
  • 相关阅读:
    progID
    windbg
    msil_accessibility_b03f5f7f11d50a3a_6.1.7600.16385_none_2232298e4f48d6ba
    jupybook编程快捷键
    django遇到的error(待续)
    python 遇到error(待续)
    前端 遇到error(待续)
    sql语句组件 在框架中的应用
    django models分页
    Python的学习之旅———用户与程序交互
  • 原文地址:https://www.cnblogs.com/Hijacku/p/15033645.html
Copyright © 2011-2022 走看看