【发布时间】:2016-05-17 17:43:20
【问题描述】:
我正在尝试用 rc1 版本重写 Angular 的路由器。我有一个具有子路由器的功能组,并使用非终端路由定义它,如下所示:
{ path: '/contacts/...', component: ContactsComponent}
但如果我尝试这样导航:
<a [routerLink]="['/contacts']"></a>
它说:“无法匹配任何路线。当前段:'联系人'。可用路线:['/dashboard','/contacts/...']”
如果我尝试将 /contacts/... 传递给路由器链接 - 它会突然开始工作,但 url 末尾也会有“...”。所以这让我得出结论,也许不再需要“...”,所以我重写了这样的路线:
{ path: '/contacts', component: ContactsComponent}
所以现在我的联系人组件已加载,但我在 ContactsComponent 中定义了以下子路由:
{ path: '/group/:id', component: GroupComponent }
还有一个路由器链接:
<a [routerLink]="['./group', {id: group.id}]">{{ group.name }}</a>
这不适用于以下错误:
Cannot match any routes. Current segment: 'group;id=1'. Available routes: ['/', '/group/:id']
我也尝试过像“/group”和“/contacts/group”这样的路由器链接,但它们都不起作用。
有人知道如何使用 rc1 路由器进行非终端路径的子路由吗?
【问题讨论】:
-
你应该使用@angular/router-deprecated,因为新的路由器仍然充满了错误
-
我们正处于一个新项目的开始阶段。恐怕将已弃用的路由器更改为新的路由器会花费太多时间,因此我们现在就这样做,因为要更改的东西不多