小编Pie*_*ARD的帖子

使用 Observable 进行渐进式填充

我想使用 Observable<string[]> 在我的 Angular 应用程序的组件上逐渐显示内容。

  1. TypeScript方面我声明了这一点:
export class ResultComponent implements OnInit{
 
 message: string = 'my message for user';
 spreadedMessage$: Observable<string> = from(this.message);
 progressiveMessage:string = "";

 ngOnInit() {
    let interval = 1
    this.obsMessage$
      .pipe(
        tap((letter) => {
           delay(35*interval),
           this.progressiveMessage += letter;
          interval++
        })
      )
      .subscribe();
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 将ProgressiveMessage绑定到模板

<div> {{ progressiveMessage }} </div>

我的完整代码清单可以在这里找到


我尝试了第二种方法,效果很好,如下所示,但我想了解我使用Observable来取得进展有什么问题。

我的替代解决方案:

  1. 变成spreadedMessage$: Observable<string> = from(this.message);spreadedMessage: string[] = [...this.message];

  2. 在方法上声明了这一点OnInit()

for (let i: number = 0; …
Run Code Online (Sandbox Code Playgroud)

delay observable rxjs debouncing angular

5
推荐指数
1
解决办法
95
查看次数

标签 统计

angular ×1

debouncing ×1

delay ×1

observable ×1

rxjs ×1