在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);
}
}
答案 0 :(得分:3)
Angular不提供任何东西。对此进行了讨论,并且有一个未解决的问题AFAIR。
作为变通方法,您可以转发至观察者或使用Observable.fromEvent()
debounce
。