我正在按照以下条件进行概念验证:
我使用Angular元素作为示例,扩展了HTML。
每个有角团队都通过注册其标签来生成JavaScript文件(team1.js,team2.js,team3.js)进行部署。
示例:
<team1> </ team1> customElements.define("team1", ....);
<team2> </ team2> customElements.define("team2", ....);
<team3> </ team3> customElements.define("team3", ....);
具有菜单的主Angular应用程序会导入JavaScript文件(team1.js,team2.js,team3.js),并在每个菜单上单击时会在div main内部动态创建标签。
menu team1 >> this.renderer.createElement ("team1")
menu team2 >> this.renderer.createElement ("team2")
menu team3 >> this.renderer.createElement ("team3")
例如,如果任何团队需要访问Web服务以填充表,则该表将在之前呈现。
因此,我在Web服务中执行了请求,然后动态创建了表标签,并将参数传递给Popular。
在Angular项目中,不需要此功能即可正常工作。但是有了Angular元素,我就这样了:
this.data = data returned from webservice
const element = this.renderer.createElement ("component-table");
this.renderer.setProperty (element, "data", this.data);
所有这些都有效,但是我发现很难使用createElement。
我可以在主项目中提出此Web服务请求并通过参数:
<team1 data = "data"> </ team1>
使用此方法,对Web服务的所有请求都将在主项目中,并且所有团队都必须在此项目中进行编码。
答案 0 :(得分:0)
面临的挑战是构建独立的UI应用程序,这些应用程序可以彼此独立开发和部署,但仍然可以组合为一个单元进行部署。这是我们的操作方式。
您将需要安装Angular CLI,创建Angular工作区:
ng new my-app --routing
然后运行它:
cd my-app
ng serve -o
创建您的子应用程序
现在,将多个应用程序功能直接烘焙到Angular CLI中,因此本文将重点介绍该功能。我们要使用ng generate application
而不是使用ng new创建工作区。这将创建一个新应用程序,位于默认应用程序的旁边:
ng generate application app1 --routing
ng generate application app2 --routing
这可能看起来像您对Angular项目的期望:
项目目录包括:
app1:第一个自定义子应用程序的源代码
要运行一个子应用程序,只需使用ng serve
的project参数,如下所示:
ng serve –-project app1
整篇文章为here
答案 1 :(得分:0)
首先ng generate application app1 --routing
运行良好,然后在运行ng generate application app2 --routing
后出现此错误:未知选项:'--routing'