Lassen Sie mich erklären. Hier ist mein HTML meine Meldungen wie diese angezeigt werden:Wie man eine Subject-Variable in eine Observable-Variable konvertiert
<message
*ngFor="let message of thread.messages | async"
[message]="message">
</message>
Mein thread.messages Variable ein beobachtbar ist.
export class Thread {
id: string;
messages: Observable<Message[]> = new Observable<Message[]>();
}
In meinem addNewMessage() Funktion, habe ich ein Thema Variable, um die neuen Nachrichten in hinzuzufügen:
subjectMessages: Subject<Message[]> = new Subject<Message[]>();
addNewMessage(objMessage: any) : void {
const newMessage = new Message(objMessage);
this.subjectMessages.next([newMessage]);
thread.messages = this.subjectMessages.asObservable();
}
ich diesem subjectMessages Variable auf den thread.messages konvertieren möchten Variable. Aber es funktioniert nicht. Meine thread.messages Variable enthält ein Observable, aber es zeigt nichts in meinem HTML an.
jedoch die Anzeige der letzten Nachricht funktioniert:
thread.messages.subscribe((message: Message[]) => {
[thread.lastMessage] = message;
});
ich verzweifle, weißt du, wo mein Fehler sein würde? Warum kann ich die letzte Nachricht und nicht alle Nachrichten anzeigen?
zurück subjectMessages.asObservable(); – alehn96
@ alehn96 Was meinst du? Wo soll ich 'subjectMessages.asObservable()' zurückgeben? – Floriane