当前位置:   article > 正文

Angular防抖指令——输入事件_angular rxjs debounce

angular rxjs debounce

input输入框,例如搜索框,每输入一个字符便向后台查询一遍会增加服务端负担,而且对前端的显示体验也不好;所以就需要防抖设计了,angular中的防抖可以利用rxjs中的debounceTime实现,具体的还可以设计以下防抖输入指令,以便于使用:

注意  rxjs版本     "rxjs": "~6.3.3",

使用示例: <input [appDebounceInput]="700" (debounceInput)="dealInput($event)" />

  1. import {Directive, HostListener, Input, EventEmitter, Output, OnDestroy, OnInit} from '@angular/core';
  2. import {debounceTime} from 'rxjs/operators';
  3. import {Subject, Subscription} from 'rxjs';
  4. @Directive({
  5. selector: 'input[appDebounceInput]'
  6. })
  7. export class DebounceInputDirective implements OnInit, OnDestroy {
  8. @Input('appDebounceInput') debounceTime = 500;
  9. @Output() debounceInput = new EventEmitter();
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/222924
推荐阅读
相关标签
  

闽ICP备14008679号