在我的Angular 4应用程序中,我有一个Groups部分。它可以显示所有当前群组的列表(/groups
),也可以显示特定群组页面(/groups/21
,群组ID为21
)。
出于这个原因,我想启用路由到同一路线的两个页面。
我尝试了以下内容:
{ path: 'groups/:groupid', component: GroupPageComponent, resolve: { group: GroupResolver } },
当我导航到特定群组时,它工作正常,但当我尝试导航到常规“所有群组”页面时,它只会重定向到默认的'*'
匹配,甚至不会加载{{1 }}
如果网址中没有指定组ID,如何启用“所有群组”页面的导航?
答案 0 :(得分:1)
您可以指定两条路线:
{
path: 'groups',
component: GroupPageComponent,
resolve: { group: GroupResolver }
},
{
path: 'groups/:groupid',
component: GroupPageComponent,
resolve: { group: GroupResolver }
},
或者你可以只使用一个路由,一个有id的路由,并且当没有组ID时传递一个值,如0或-1。我在编辑页面上使用这种技术来处理编辑“新”产品。
或者你可以使groupId成为可选参数。但这会改变您的网址:http://localhost:3000/groups;groupid=7
,这可能是不可取的。