1

我有各种各样的与角4子/嵌套路线在app.module.ts进口声明麻烦,我有:不能获得角嵌套的路线在视图中显示

RouterModule.forRoot([ 
     { 
      path: 'templates', 
      component: TemplateLandingComponent, 
      children: [ 
       {path: 'main-templates', component: MainTemplateComponent} 
      ] 
     }, 
    ]) 

在我的主要资产净值,我有以下几点:

<li><a [routerLink]="['/templates']" [routerLinkActive]="'active'">Templates</a></li> 

这工作得很好,并带我到父TemplateLandingComponent。然后我在TemplateLandingComponent另一个链接:

<li><a [routerLink]="['/templates/main-templates']" [routerLinkActive]="'active'">Active Templates</a></li> 

点击此链接路由到正确的URL,但不显示我的MainTemplateComponent。我究竟做错了什么?

即使我手动导航到/模板/主模板,我仍然只看到TemplateLandingComponent

+0

你在里面添加了router outlet templateLandingComponent – alexKhymenko

+0

我已经将router-outlet添加到我的app.component.ts – JordanBarber

回答

1

尝试

<li><a routerLink="/main-templates" [routerLinkActive]="'active'">Active Templates</a></li> 

你的路线改成这样

RouterModule.forRoot([ 
    { 
     path: 'templates', 
     children: [ 
      {path: '', component: TemplateLandingComponent} 
      {path: 'main-templates', component: MainTemplateComponent} 
     ] 
    }, 
]) 

或插入<router-outlet>在您的TemplateLandingComponent。 这取决于你想要什么,如果它的2个独立的组件写你的我写的routerModule。它的父子组件在父组件中使用router-outlet。

routerLink将相对于当前路径而不是绝对路径进行导航。

+0

这仍然只显示我的TemplateLandingComponent。核心问题是,即使(手动)导航到/ templates/main-templates也无法正确地路由到我的MainTemplateComponent – JordanBarber

+0

您能否将插入到您的templateLandingComponent中,然后手动导航到您想要的位置? – alexKhymenko