angular2,指令输入 OnChanges 延迟(去抖动)?
angular2, directive input OnChanges delay(debounce)?
在 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);
}
}
Angular 不提供任何内容。已经讨论过了,还有一个悬而未决的问题 AFAIR。
作为解决方法,您可以转发到可观察对象或使用 Observable.fromEvent()
和 debounce
。
在 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);
}
}
Angular 不提供任何内容。已经讨论过了,还有一个悬而未决的问题 AFAIR。
作为解决方法,您可以转发到可观察对象或使用 Observable.fromEvent()
和 debounce
。