如何在Dart上的Angular 2中使用参数嵌套2个或更多路由级别

时间:2016-10-05 15:03:37

标签: angular dart

我有一个用Dart编写的Angular 2应用程序,它有多个带参数的嵌套路由。

最高级别的路线有一个参数“类别”并且运作良好:

@RouteConfig(const [
  const Route(path: '/', name: 'Empty', component: Empty, useAsDefault: true),
  const Route(path: '/categories/:category/...', name: 'Category', component: Category)
])
class AppComponent { /* Content omitted */ }

HTML:

<a [routerLink]="['Category', {'category': cat['id']}]">{{cat['name']}}</a>

类别也有一个RouteConfig,它定义了一个参数“product”:

@RouteConfig(const [
  const Route(path: '/', name: 'Empty', component: Empty, useAsDefault: true),
  const Route(path: '/products/:product', name: 'Product', component: Product)
])
class Category { /* Content omitted */ }

当我尝试创建这样的产品的链接时:

<a [routerLink]="['Category/Product', {'category': id, 'product': product['id']}]">{{product['name']}}</a>

我收到以下错误:

Route generator for 'category' was not included in parameters passed.

我还在链接中尝试了Product./Product,这两个都导致了以下错误:

Component "AppComponent" has no route named "Product".

我已将完整的来源推送到Github:https://github.com/stijnvanbael/angular2-demo

1 个答案:

答案 0 :(得分:1)

这可能会做你想要的:

<a [routerLink]="['/Category', {'category': id}, 'Product', {'product': product['id']}]">{{product['name']}}</a>