0
私はAngularで簡単なチャットアプリケーションを実装しました。私は@stomp/ng2-stompjs
からストンプソケットを使用しています。私はすべてのmeesagesを表示するのに*ngFor
を使用しています。新しいデータに角度レンダリング
<p *ngFor="let item of messages" style="padding: 5px; font-size: 18px">
<span style="color:darkturquoise">{{item.author}}</span>: {{item.message}}
</p>
しかしmessages
変数が更新されたときに(私はにconsole.logを見ることができます)、*ngFor
を再描画しません角度。
this.subscription = this.messagesObs.subscribe((message: Frame) => {
this.messages = <ResponseMessage[]>JSON.parse(message.body).slice();
console.log(this.messages);
});
私はthis.changeDetector.detectChanges();
を試しましたが、それは役に立ちません。 これはフレームワークのデフォルト動作ですが、各サブスクリプション後に*ngFor
をレンダリングする方法はありますか?
更新:
私はplunker例を作りました。バックエンドがlocalhost上にあるので、例は機能しません。
この作品を部分的にしか。私がメッセージを送信すると、データが来ます(コンソールで見られます)が、ngForはレンダリングされません。私は別のメッセージをタイプし始めます。 – TomP
'messagesObs'はどのように見えますか?そして、あなたは変化検知の戦略として 'onPush'を使っていますか? – cyrix
このhttps://pastebin.com/gQbUb26hは私の.component.ts です。このhttps://pastebin.com/YDN179F7は私の.htmlです 私はOnPushを試しましたが、助けにはなりません:) – TomP