Angular 角2路由子级和路由器出口

Angular 角2路由子级和路由器出口,angular,angular2-routing,Angular,Angular2 Routing,我正在使用的儿童路线,应该在单独的插座加载。 所有组件都直接放置在/app文件夹中 app.router.ts: export const router: Routes = [ { path:'dashboard', canActivate:[AuthguardGuard], component: DashboardComponent }, { path:'', component: LoginComponent }, { path: 'dashboa

我正在使用的儿童路线,应该在单独的插座加载。 所有组件都直接放置在/app文件夹中

app.router.ts:

export const router: Routes = [

    { path:'dashboard', canActivate:[AuthguardGuard], component: DashboardComponent },
    { path:'', component: LoginComponent },
    { 
        path: 'dashboard', component: DashboardComponent, 
        children: [
           { path:'features', component: FeaturesComponent, outlet: 
           { path:'signup', component: SignupComponent, outlet: 'content' },
           { path:'more', component: MoreComponent, outlet: 'content', 
           { path: '**', component: PageNotFoundComponent }
       ]
    }
];
dashboard.component.html:

<a [routerLink]="['./']">Overview</a>
<a [routerLink]="['features']">Features</a>
<a [routerLink]="['details']">How To</a>
<a [routerLink]="['more']">SignUp</a>
<a [routerLink]="['signup']">SignUp</a>
我一直在尝试在平台上找到的一些建议,但都没有起到作用。例如。:
注册
报名

但它不起作用。。。不同的错误如下:
Uncaught(承诺中):错误:无法匹配任何路由。URL段:“注册”


你知道我做错了什么,或者我应该更改或添加什么吗?

我认为解决这个问题非常困难。尝试像这样在routerlink中定义一个空路径

[routerLink]="['', {outlets: {content: 'signup'}}]">SignUp</a>
 <router-outlet></router-outlet>
 <router-outlet name="content"></router-outlet>
[routerLink]=“[”,{outlets:{content:'signup'}}]>注册
您在app.component.html中定义了命名出口,这就是路径为空的原因

更新1

命名路由器没有显示在子路由中的原因是,命名路由器与仪表板位于同一模板中,如下所示

[routerLink]="['', {outlets: {content: 'signup'}}]">SignUp</a>
 <router-outlet></router-outlet>
 <router-outlet name="content"></router-outlet>


这里的错误是,您的“内容”路由器与“主”路由器处于同一级别,仪表板将显示在该级别。“内容”路由器应该位于dashboard.component.html内部,而不是app.component.html中的路由器。只需将
复制粘贴到dashboard.component.html中,它就可以工作了。

我的回答解决了你的问题吗?很遗憾,没有。。相同错误:
Uncaught(承诺中):错误:无法匹配任何路由。URL段:“注册”
您是否找到了解决此问题的方法,因为我遇到了相同的问题。但对我来说,{outlets:{content:'signup'}}有效。但它创建了一个我无法使用的URL。@PraveenRawat:是的,现在工作正常了。你可以发布你不能使用的生成的URL吗。这将是有帮助的。尝试你的建议而不带孩子的部分,空路径与名为“内容”的出口一起工作。这里是我所做的更改:
export-const-router:Routes=[{path:'signup',component:SignupComponent,outlet:'content'},{path:'LoginComponent},{path:'dashboard',canActivate:[AuthguardGuard],component:DashboardComponent,childrent:[{path:'features',component:FeaturesComponent,outlet:…]}];
但我想和孩子们一起解决这个问题…还有其他解决方案吗?@k.vincent有可能。等待我的回答