Angular 2 Routes - 是否可以使用ngFor从路由创建动态routerLinks?

时间:2017-02-05 20:05:44

标签: javascript angular routes angular2-routing

我想在具有已定义路径的特定模块中获取所有路由,并使用ngFor循环遍历它们并在我的组件html中创建链接的动态列表。

ngFor示例(overview.component.html):

<li *ngFor="let item of items; let i = index;">
   <a routerLink="/{route.path}">{route.path}</a>
</li>

模块示例(base.module.ts):

...

const routerConfig = [
  {
    path: '',
    component: BaseComponent,
    children: [
      {
        path: '',
        component: OverviewComponent
      },
      {
        path: 'group-one',
        component: OverviewComponent
      },
      {
        path: 'group-one/:id',
        component: DetailComponent
      },
      {
        path: 'group-two',
        component: OverviewComponent
      },
      {
        path: 'group-two/:id',
        component: DetailComponent
      }
    ]
  }
];

@NgModule({
  imports: [
    RouterModule.forChild(routerConfig)
  ]
  ...
})
export class BaseModule { }

在尝试使用ActivatedRoute,Router等进行各种实验后,我无法找到可供使用此信息的对象。

目前是否可以通过Angular 2路由器实现?

我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:2)

此代码

<a routerLink="/{route.path}">

/{route.path}字面上称为路径

你可能想要

<a [routerLink]="'/' + route.path">

<a routerLink="/{{route.path}}">

对于Angular评估表达式,绑定需要只有[]{{}}之一(从不同时)

[propName]="..."

propName="{{...}}"

后者总是将结果字符串化,因此不适合传递对象。