我试图构建的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.