繁体   English   中英

在Angular 2中与多个组件共享WebSocket数据

[英]Share websocket data with multiple components in Angular 2

我有1个主要组成部分。 在此组件内部,我使用WebSockets从服务器接收数据。 我收到一个对象,里面有多个字段。 例如,文件数可以为0到10。 每次我收到一个对象时,我都会使用forEach()获取所有字段。 对于每个字段,我需要初始化一个组件,如下所示:

 self.dcl.loadIntoLocation(StreamComponent, self.elementRef, 'stream'); 

如果已经存在对象当前字段的组件副本,则需要在视图中使用新接收到的数据对其进行更新。 我的主要问题是我不知道如何将数据从WebSockets传递到创建的组件。 我可以创建和初始化它,但是我不介意如何将数据传递给它。 有任何想法吗 ?

您可以尝试利用方法返回的promise:

self.dcl.loadIntoLocation(
  StreamComponent, self.elementRef, 'stream').then((compRef:ComponentRef) => {
    compRef.instance.someAttr = something;
});

通过此承诺,您可以获取新创建的组件的实例,并在其属性(例如Web套接字)中设置数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM