angular2,指令输入OnChanges延迟(去抖动)?

时间:2016-06-11 20:32:57

标签: angular angular2-directives

在Angular1中,我能够为ng-model添加添加去抖时间。

在Angular2中,我们可以检测所有input的变化。是否有可能在每次输入更改时都有一些去抖时间。

从下面的plunker示例http://plnkr.co/edit/JKYSek?p=preview中,我输入“hello world”,但它会对每一个键击都做出反应。

是否可以在没有任何编程的情况下对每次更改进行一些延迟?

import { Directive, OnChanges } from "@angular/core";

@Directive({
  selector: '[my-directive]',
  inputs: [`myInput`]
}) 
export class MyDirective implements OnChanges {

  ngOnChanges(changes: {[key: string]: SimpleChange}) {
    console.log('changes :'+ changes.myInput.currentValue);
  }
}

enter image description here

1 个答案:

答案 0 :(得分:3)

Angular不提供任何东西。对此进行了讨论,并且有一个未解决的问题AFAIR。

作为变通方法,您可以转发至观察者或使用Observable.fromEvent() debounce