【发布时间】:2019-04-15 15:27:40
【问题描述】:
当使用 angular2 的路由器“3.0”的子路由时,无需在父路由器配置中声明它们(之前,您必须在父组件中执行类似 /child... 的操作)。
我想配置一个全局“找不到页面”处理程序,我可以这样做:
{ path: '**', component: PageNotFoundComponent }
在我的应用路由模块中。
警告:如果我这样做,路由器会导航到在 PageNotFoundComponent 之前的应用程序路由模块中声明的路由。但是当我尝试访问子路由时它总是导航到通配符路由(在某些子路由模块中使用RouterModule.forChild 声明。
直观地说,通配符路由应该放在所有其他路由配置之后,因为路由器按声明顺序解析。但是似乎没有办法在子路由之后声明它。在所有子路由器模块中声明通配符路由似乎也不是很优雅。
我是否遗漏了什么,或者在使用子路由时无法在 Angular-2-Router-3 中定义全局 404 页面?
【问题讨论】:
-
今天(第 5 版)似乎不再是这种情况了。无论声明的顺序如何,在尝试不太具体的路径之前似乎都会匹配更具体的路径。
标签: angular