讓我解釋一下。這是我的HTML顯示像這樣我的消息:如何將Subject變量轉換爲Observable變量
<message
*ngFor="let message of thread.messages | async"
[message]="message">
</message>
我thread.messages變量是可觀察到的。
export class Thread {
id: string;
messages: Observable<Message[]> = new Observable<Message[]>();
}
在我addNewMessage()函數,我創建了一個主題變量中添加新的消息:
subjectMessages: Subject<Message[]> = new Subject<Message[]>();
addNewMessage(objMessage: any) : void {
const newMessage = new Message(objMessage);
this.subjectMessages.next([newMessage]);
thread.messages = this.subjectMessages.asObservable();
}
我想變量轉換這個subjectMessages到thread.messages變量。 但它不起作用。我的thread.messages變量包含一個Observable,但它不會在我的HTML中顯示任何東西。
然而,最後的消息的顯示器的工作原理:
thread.messages.subscribe((message: Message[]) => {
[thread.lastMessage] = message;
});
我絕望了,你知道我的錯誤是?爲什麼我可以查看最後一條消息,而不是所有消息?
return subjectMessages.asObservable(); – alehn96
@ alehn96 你是什麼意思? 你想在哪裏返回'subjectMessages.asObservable()'? – Floriane