BehaviorSubject 未更新 html 模板 Ioniq 5

BehaviourSubject not updating html template Ionic 5

我有一个用户发送给另一个用户的消息列表,想在 Ionic 5 中实时更新它们,Angular 11.

我正在使用 BehaviourSubject,最后的更改显示在构造函数中。 在 ngOninit 无法查看更改(订阅)

mesage.ts

  private categorySelectedSubject = new BehaviorSubject<any>();
  categorySelectedAction$ = this.categorySelectedSubject.asObservable();


   constructor(){
  this.categorySelectedAction$.subscribe(x => console.log("data here ", x))

  this.categorySelectedAction$ = this.chatService.getSpecificMessage(request)
}

     
  

  async sendMsg(savemessage) {
   this.categorySelectedSubject.next(savemessage)
  }
  <ion-list id="list" *ngIf="categorySelectedAction$  | async as products">
  
      <div  *ngFor="let chat of products['response']; let i = index; " >
      
      ..... ect ....

在构造函数中订阅的结果只是最后一个:savemessage,没有以前的数据。 html 上的模板根本没有改变。

也尝试过 NgZone 和 ChangeDetectorRef,但没有任何效果

您必须使用 Observable 来获取数据,而不是结合 BehaviourSubject 来执行 CRUD 操作。

查看 merge 和 combineLast 运算符。