由参数化

时间:2017-07-13 20:11:37

标签: angular routes

是否可以设置Angular路线以使参数不与其他路线混淆?

说,路线如下:

{
  path: 'heroes/:id',
  component: HeroDetailComponent
},
{
  path: 'heroes/add',
  component: HeroEditComponent
},

会发生冲突,因为段add将被捕获并解释为:id或以其他方式区分这些路线。

是否可以连接正则表达式以确定正确的路线?

1 个答案:

答案 0 :(得分:2)

Angular路由器将采用匹配的第一条路由,因此您应该定义从最具体到最不具体的路由。如果您切换订单,则应首先匹配add,然后:id

{
  path: 'heroes/add',
  component: HeroEditComponent
},
{
  path: 'heroes/:id',
  component: HeroDetailComponent
},