我在前端使用Angular 6(+ SockJS + Stomp)尝试在多个不同页面上显示通过websocket发送的不同主题的数据,其中特定页面仅显示特定主题的数据。例如。 “新闻”页面显示在/ news主题上发送的数据,“最新价格”页面在/ prices主题上显示数据。
后端已排序,我只是在发送有关适当主题的数据。但是如何构造前端?我在考虑一个订阅所有主题的Angular服务,然后有一个Observable,供单个组件(处理单个页面)订阅。但是不确定在这种情况下如何拆分主题,如何有效地使每个页面仅订阅其自己的主题?我不想直接在每个组件中处理websocket(不好的做法吗?),但是使用单个Observable是否可以有效地使用不同的数据通道?
我想我可以有多个Observable(和Services?),但是主题可能会增加,所以我不想笨拙的程序设计。