如果未指定URL参数,则导航到路径

时间:2017-08-04 20:49:14

标签: angular angular-routing

在我的Angular 4应用程序中,我有一个Groups部分。它可以显示所有当前群组的列表(/groups),也可以显示特定群组页面(/groups/21,群组ID为21)。

出于这个原因,我想启用路由到同一路线的两个页面

我尝试了以下内容:

{ path: 'groups/:groupid', component: GroupPageComponent, resolve: { group: GroupResolver } },

当我导航到特定群组时,它工作正常,但当我尝试导航到常规“所有群组”页面时,它只会重定向到默认的'*'匹配,甚至不会加载{{1 }}

如果网址中没有指定组ID,如何启用“所有群组”页面的导航?

1 个答案:

答案 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,这可能是不可取的。

enter image description here