【问题标题】:Named router-outlet remains empty命名的路由器插座仍然是空的
【发布时间】:2017-12-03 09:40:11
【问题描述】:

我有一个关于第二个(命名的)路由器插座的问题。单击链接时,路由器插座不显示该组件。

这就是我的路线的样子:

const appRoutes: Routes = [
  { path: '', redirectTo: '/projects', pathMatch: 'full' },
  {
    path: 'projects', children: [
      { path: '', component: ProjectsComponent },
      { path: ':projectId', children: [
          { path: '', component: ProjectDetailsComponent },
          { path: 'routes', component: RoutesComponent, outlet: 'project' },
          { path: 'rides/new', component: AddRideComponent, outlet: 'project' },
          { path: 'routes/:id', component: RideDetailsComponent, outlet: 'project' },
          { path: 'stops', component: StopsComponent, outlet: 'project' },
          { path: 'stops/new', component: AddStopComponent, outlet: 'project' },
          { path: 'stops/:id', component: StopDetailsComponent, outlet: 'project' }
        ]
      },
    ]
  },
  ...
];

这是我命名的路由器插座的样子:

<router-outlet name="project"></router-outlet>

这是 routerLink 的样子:

<a [routerLink]="['/projects', projectId, { outlets: {project: 'routes'}}]">Routes</a>

当我在http://.../projects/456 并单击链接时,命名的路由器插座保持为空并且不显示组件。

我尝试了很多方法,但似乎找不到问题所在。我做错了什么?

【问题讨论】:

    标签: angular typescript angular2-routing


    【解决方案1】:

    您似乎没有提到子组件的组件。我不知道您到底遇到了什么错误,但这是我的输入。可以这样试试。

    export const appRoutes: Routes = [
      { path: '', redirectTo: 'projects', pathMatch: 'full' },
      { path: 'projects', component: ProjectsComponent },
      { path: 'projects/:projectId', component: ProjectDetailsComponent,
        children: [
          { path: 'routes', component: RoutesComponent, outlet: 'project' },
          { path: 'rides/new', component: AddRideComponent, outlet: 'project' },
          { path: 'routes/:id', component: RideDetailsComponent, outlet: 'project' },
          { path: 'stops', component: StopsComponent, outlet: 'project' },
          { path: 'stops/new', component: AddStopComponent, outlet: 'project' },
          { path: 'stops/:id', component: StopDetailsComponent, outlet: 'project' }
        ]
      }
    ];
    

    您的路由器插座应该在 ProjectDetailsComponent 中

    <router-outlet name="project"></router-outlet>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 2017-02-21
      • 1970-01-01
      • 2021-03-13
      • 2017-02-15
      • 2019-11-05
      相关资源
      最近更新 更多