【发布时间】:2018-02-05 14:36:49
【问题描述】:
我想在我的 Angular 应用程序中显示带有自定义 slug 的页面,并通过添加带有 CanActivate 保护的通配符路由来做到这一点,该保护检查当前浏览器路径是否是与 CMS 中的页面关联的 slug:
{
path: '**',
loadChildren: './modules/content-page/content-page.module#ContentPageModule',
canActivate: [IsContentPage]
}
如果找到页面,应用程序会加载 ContentPageModule,但现在我希望应用程序在找不到页面时显示 404 页面。最好 URL 保持不变,所以我不想从 IsContentPage 保护中重定向。添加另一个没有保护的通配符路由不起作用:
{
path: '**',
loadChildren: './modules/not-found/not-found.module#NotFoundModule'
}
声明这两个路由后,应用程序在 IsContentPage 返回 false 后只显示一个空白页面。如果 NotFoundModule-route 在 ContentPageModule-route 之前声明,则始终触发该路由。
我正在使用 Angular 路由器 5.2 版。
有人可以帮助我吗?我应该如何解决这个问题?
【问题讨论】:
标签: javascript angular