如果父组件的路径为空,则Angular 2命名路由器不起作用

时间:2017-06-26 07:29:51

标签: angular angular-router

这是我的路线配置

{
    path: 'home',
    component: HomepageComponent,
    children: [
        {
            path: 'enquiry',
            component: EnquiryComponent,
            outlet: 'suboutlet'
        }
    ]
}

这完全适用于:

this.router.navigate(['/home', {outlets: {suboutlet: ['enquiry']}}]);

但如果我的父路径是这样的空白:

{
    path: '', // <-- This is blank now
    component: HomepageComponent,
    children: [
        {
            path: 'enquiry',
            component: EnquiryComponent,
            outlet: 'suboutlet'
        }
    ]
}

以下都不起作用:

this.router.navigate(['', {outlets: {suboutlet: ['enquiry']}}]);
this.router.navigate(['/', {outlets: {suboutlet: ['enquiry']}}]);
this.router.navigate([{outlets: {suboutlet: ['enquiry']}}]);

错误: 错误:无法匹配任何路由。网址细分:&#39;查询&#39;

我需要这个路由器配置,因为我的嵌套命名插座位于主页组件中,我不想用/ home作为前缀,只是为了让这个工作

非常感谢任何帮助。

以上代码的plunker正在运行

https://plnkr.co/edit/SZhu8LxHiSKNxX3JQ22N

而且我不知道为什么在一个人工作之下

https://plnkr.co/edit/jvhkN77wH6ZePErwDvT3

0 个答案:

没有答案