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 运算符。
我有一个用户发送给另一个用户的消息列表,想在 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 运算符。