在Angular 2中与多个组件共享websocket数据
Share websocket data with multiple components in Angular 2
我有一个主要组件。在这个组件内部,我使用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套接字)中设置数据。
相关文章:
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- 如何通过React Native中的组件共享登录状态
- Asp NET在不同的解决方案中共享了html组件
- Aurelia组件在其他视图模型中使用时不共享实例
- React组件之间共享属性
- 在页面之间共享组件,而无需重新加载
- 在Angular 2中与多个组件共享websocket数据
- 如果我两次使用相同的反应/冗余组件,它们会共享状态吗?
- Reactjs:如何在组件之间共享 websocket
- 如何在 Vue.js 中的组件之间共享方法
- 更新React组件共享状态
- 如何在页面html区域APEX(Oracle Application Express)上使用共享组件静态文件或CSS文件
- 在子组件之间共享父组件状态'州
- 在私有项目之间共享前端组件
- Ember包括应用内共享组件插件在应用内引擎
- 如何跨应用程序共享Windows 8 WinRT Metro风格库/组件
- 在两个项目之间共享组件,同时保留热加载
- 如何创建共享功能但具有独立状态的react组件
- Angular2 -共享组件控制器
- Ember.js-如何在更多路线之间共享路线模型数据?-为什么不在组件中加载数据