我正在迁移到新的路由器。在此之前,我有:
this._router.navigate(['Main', 'Home']);我的路由配置是;
Main (parent View)
---Home (child View)现在,我有以下几点:
{path: 'Main', component: MainComponent, children:[
{path: 'Home', component: HomeComponent, children:[..]
....]但是,现在以下命令不起作用:
this._router.navigate(['Main', 'Home']);它不会抛出错误或其他任何东西。我遗漏了什么?
发布于 2016-06-28 17:37:42
新路由器中的导航应该是这样工作的:
this._router.navigate(['/Main/Home']);发布于 2016-06-28 18:19:50
如果home组件没有为home的某个子路由设置任何子路由或任何默认路由,则@rinukkusu答案是正确的。
由于您还拥有home组件的子项,因此您必须确保以下内容,
1)您已经导入了ROUTER_DIRECTIVES,并将其用作directives元数据。
2)主零部件的模板中有<router-outlet>。
3)你已经在home的一个子路由中定义了default route,那么它很好,否则this._router.navigate(['/Main/Home']);将无法工作。
4)如果home的孩子没有在任何地方定义默认路由,那么您必须使用,
this._router.navigate(['/Main/Home/someChildPath']);
我希望这能有所帮助。
https://stackoverflow.com/questions/38072081
复制相似问题