angular – 从外部内容加载动态组件

我正在研究的系统由许多分布式微服务组成,每个组件的潜在多个版本可能同时处于活动状态.

我试图构建的Angular2应用程序应该能够通过websockets与这些组件中的每一个进行交互.因为为每个组件的所有未来版本和功能,相应的协议实现甚至新组件准备此应用程序似乎是不可行的,所以我想将此责任推给组件本身.

每个组件都能够通过在同一个websocket连接上发送的包传递其功能(以NG2组件的形式)以及协议实现和必要的GUI元素(HTML / CSS).

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

我不太确定我是否完全理解你的问题.

Is there a pattern that enables this kind of ‘on-demand-loading’ of components and their templates in ng2?

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

but they should be able to share services and libraries.

Angulars指南建议共享模块和核心模块.实际上我认为这是最好的方法.只需在上面的链接上向下滚动即可.

Each component is able to communicate its capabilities (in the form of a NG2 component) as well as the protocol implementation and the necessary GUI elements (HTML/CSS) via a package sent over the very same websocket connection.

这是我不确定的部分,就像我不知道我是否理解你的意思.您不想通过websocket连接加载组件吗?如果是这样,为什么呢?如果你的意思是只对每个具有相同websocket的组件进行通信:我建议服务这样做,这将是核心模块的一部分,因此是一个单身人士.然后,组件可以访问此服务,因此它们始终连接到相同的websocket.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...