我试图用标题,菜单和内容div做一个简单的页面 当有人点击菜单的ancor时,我希望内容div填充与相关路线对应的页面。 而且,就目前而言,我只想要这个公共页面(标题,菜单和内容)匹配任何路线。
appComponent就在这里路由到其他组件:
应用-component.html
<router-outlet></router-outlet>
包含标题,菜单和内容的组件称为LayoutComponent:
布局component.html
<div>
<app-menu></app-menu>
<router-outlet></router-outlet>
</div>
我的路由配置如下:
export const routes: Routes = [
{
path: 'login',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: 'common',
loadChildren: 'app/dsia-common/dsia-common.module'
},
{
path: 'home',
redirectTo: '',
pathMatch: 'full'
},
{
path: '',
component: LayoutComponent,
children: [
{
path: '**',
pathMatch: 'full',
canActivate: [AuthGuardService],
component: GenericPageComponent
}
]
在我的网站上浏览时,在 localhost:4200 / ,
上我希望弹出一个登录页面(AuthGuardService会将我重定向到登录路由)。 登录成功后,登录组件将重定向到主页。 主页应该使用LayoutComponent来显示嵌套路由器插座中的标题,菜单和内容。 它应该为每个网址这样做。 总结一下
/ - &gt; (触发器)可以激活[AuthGuardService] - &gt; (重定向到)/ login - &gt; (成功重定向到)/ home - &gt; (重定向到)/ - &gt; LayoutComponent
不幸的是我的页面没有加载为登录页面被递归调用(总是调用导航取消事件)。我认为这是因为在调用/ login路径时使用了AuthGuardService (因此登录路由被取消并且它被重定向到登录路由,依此类推...)。根据我的理解应该是这种情况。
有人能指出我在这里明显缺少的东西吗?
非常感谢你。
的问候。 本杰明
答案 0 :(得分:1)
您将登录重定向到登录。存在无限循环是正常的。尝试更改路由配置。这是一个样本。
done