【发布时间】:2018-06-04 15:02:23
【问题描述】:
我在 AppModule 中加载了一个功能模块,AppRoutingModule 看起来像
const appRoutes: Routes = [
...
{
path: 'move-request/:id',
loadChildren: 'app/modules/move_requests/move_requests.module#MoveRequestModule'
},
...
];
特征模块的路由配置如下
const moveRequestRoutes: Routes = [
{
path: '',
component: MoveRequestFormComponent,
data: {title: 'Move Request'}
},
{
path: 'move-request-success',
component: RequestSuccessComponent,
data: {title: 'Move request success'}
},
];
当move-request/:id 被路由到时,我想导航到MoveRequestFormComponent 作为默认组件,这工作正常,但是当我调用时
this.router.navigate(['/move-request-success', {}]);
在MoveRequestFormComponent 收到服务器的一些响应后,我得到了
zone.js:665 Unhandled Promise rejection: Cannot match any routes. URL Segment: 'move-request-success' ; Zone: <root> ;
这个配置在我切换到 Angular 6 之前就可以工作,是不是因为 AppModule 的变化,我在其中排除了这个功能模块作为导入?
对我所缺少的任何帮助将不胜感激。正如我也尝试过使用第三个组件,它将作为默认组件并使用router-outlet 来呈现子级,并在此路由上有一个子级属性作为子级
{
path: '',
component: MoveRequestFormComponent,
data: {title: 'Move Request'}
},
{
path: 'move-request-success',
component: RequestSuccessComponent,
data: {title: 'Move request success'}
},
但这也不起作用,当导航到 'move-request-success' 时,它停留在 MoveRequestFormComponent 上。或者也许我应该改变方法?
【问题讨论】:
-
children 属性中的路径可以是
path: '/move-request-success' -
@DhiralKaniya 我试过了,但没有成功,谢谢
标签: javascript angular angular2-routing