首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从外部内容加载动态组件

从外部内容加载动态组件
EN

Stack Overflow用户
提问于 2016-04-22 11:31:25
回答 3查看 1.4K关注 0票数 5

我正在开发的系统由多个分布式微服务组成,每个组件可能同时活动多个版本。

我正在尝试构建的Angular2应用程序将能够通过websockets与每个组件进行交互。由于似乎无法为每个组件的所有未来版本和特性、相应的协议实现甚至新组件准备此应用程序,所以我想将这一责任推卸给组件本身。

每个组件都能够通过通过相同的websocket连接发送的包来通信其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML/CSS)。

是否有一种模式可以在ng2中支持这种“按需加载”组件及其模板?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-23 09:37:14

我不太清楚我是否完全理解你的问题。

是否有一种模式可以在ng2中支持这种“按需加载”组件及其模板?

还有按需加载模块,使用延迟加载模块,请参阅:https://angular.io/docs/ts/latest/guide/ngmodule.html#!#lazy-load我强烈推荐阅读整个指南,这真的很有帮助。

但是他们应该能够共享服务和图书馆。

Angulars指南建议使用共享模块和核心模块。事实上,我认为这是最好的方法。只要在上面的链接上向下滚动。

每个组件都能够通过通过相同的websocket连接发送的包来通信其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML/CSS)。

这是我不确定的部分,好像我不知道我是否正确地理解了你的意思。您不希望通过websocket连接加载组件,对吗?如果是,那为什么?如果您的意思是仅针对每个具有相同websocket的组件进行通信:我建议提供这样的服务,这将是核心模块的一部分,因此也是一个Singleton。然后,组件可以访问此服务,因此它们总是连接到同一个websocket。

票数 1
EN

Stack Overflow用户

发布于 2017-02-21 23:44:34

看起来您可以尝试使用路由器延迟加载,并提供NgModuleFactoryLoader的自定义实现,它可以通过websocket加载组件。

票数 2
EN

Stack Overflow用户

发布于 2017-02-27 20:53:17

以下是可以实现的步骤。

  • 使用systemjs加载器在路由器中加载组件
  • 在systemjs配置文件中,提供组件的路径。

这些示例更详细地解释了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36792713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档