Angular 在同一页面上使用多个应用进行路由
我正在构建一个包含多个应用程序的应用程序 通常:Angular 在同一页面上使用多个应用进行路由,angular,angular-router,Angular,Angular Router,我正在构建一个包含多个应用程序的应用程序 通常: <body> <app-header></app-header> <app-root></app-root> </body> 这是我的应用程序根目录路由: const批准:路由=[ {路径:“”,组件:HomeComponent} ]; 问题是,有两条路线会导致问题。如果我点击登录nav按钮,它将正确引导我进入LoginComponent,URL将变为ht
<body>
<app-header></app-header>
<app-root></app-root>
</body>
这是我的应用程序根目录
路由:
const批准:路由=[
{路径:“”,组件:HomeComponent}
];
问题是,有两条路线会导致问题。如果我点击登录nav
按钮,它将正确引导我进入LoginComponent
,URL将变为http://localhost:4200/login
但是家庭组件将保留,导致以下情况:
Home
和Login
组件都在显示,即使URL是/Login
。这是因为approot
不知道url的修改,因为/login
是app header
的一部分
我相信解决方案是只使用一个appRoutes
,它将同时管理approot
和appheader
组件路由。像这样:
const批准:路由=[
{路径:'',组件:HomeComponent},
{path:'login',component:LoginComponent},
{路径:'register',组件:RegisterComponent}
];
但是,LoginComponent
和RegisterComponent
在当前应用程序中不存在,因此无法正常工作
因此,解决方案要么是设法使其与主appRoutes
一起工作,要么对appheader
和approot
使用两个不同的appRoutes
,这两个应用程序都会意识到url的修改。也许这不是最好的解决方案?:事实上:你应该简单地创建一个库,并可能将这些组件捆绑在一个角度模块中,您可以将其导入三个应用程序中。就像ng引导,或角材质,或任何其他角库一样。好吧!你能给我一个关于制作角度库并实现它的链接吗?谢谢,我不知道有这样的教程。我正在等待angular CLI支持此场景。