我想为我的聊天应用程序构建一个“类型指示器”。我目前正在尝试在用户停止按任意键5秒钟后使指示灯消失。
Angular这样做的方式是什么?
答案 0 :(得分:1)
假定用户输入在流中,则将其命名为userTypingStream$
,
userTypingStream$.pipe(
(debounceTime(5000)
).subscribe(() => this.displayIndicator = false);
要创建这样的流:
private userTypingStream$: Subject<string> = new Subject();
//...
onKeyPress = (event) => {
this.userTypingStream$.next(event.target.value);
//... and possibly the rest of the keypress handler here.
}
相关主题:观察对象和主题(开发Angular应用程序时几乎不可避免)。这些似乎是一个很好的起点:
https://angular.io/guide/observables
https://blog.angularindepth.com/rxjs-understanding-subjects-5c585188c3e1