【发布时间】:2018-08-23 04:27:52
【问题描述】:
我的搜索输入有问题。在 Angular 2 项目中,我有搜索输入:
<input [(ngModel)]="data.value" (keyup)="input$.next($event)" (focusout)="onFocusOut($event)" />
在我的打字稿上:
input$ = new Subject<any>();
ngOnInit() {
this.input$
.do(this.keyUpEventHandler.bind(this))
.debounceTime(3000)
.distinctUntilChanged()
.subscribe((value) => {
console.log('afterDebounce', value);
// do http request in service
});
}
onFocusOut(event) {
//this.input$.skipLast(1);
// do http request in service immediately
}
我的问题是当我输入...并单击输入时,我的输入组件只是失去了焦点,我调用了 http 请求,但 3 秒后又再次调用。是否有任何解决方案可以解决 input$ 可观察到的下一个问题?
我不喜欢取消订阅整个 observable,因为我想稍后使用它(如果用户想搜索数据) 谢谢!
【问题讨论】:
标签: angular rxjs angular2-forms