如果未指定 URL 参数,则导航至路线
Navigate to a route if no URL params specified
在我的 Angular 4 应用程序中,我有一个群组部分。它可以显示您当前所有群组的列表 (/groups
),也可以显示特定的群组页面(/groups/21
,即 21
群组 ID)。
出于这个原因,我想启用从同一路由到两个页面的路由。
我试过以下方法:
{ path: 'groups/:groupid', component: GroupPageComponent, resolve: { group: GroupResolver } },
当我导航到特定组时它工作正常,但是当我尝试导航到一般 'all groups' 页面时,它只会重定向到默认的 '*'
匹配,甚至不会加载GroupResolver
.
如果 URL 中没有指定组 ID,我如何启用到 'all groups' 页面的导航?
您可以指定两条路线:
{
path: 'groups',
component: GroupPageComponent,
resolve: { group: GroupResolver }
},
{
path: 'groups/:groupid',
component: GroupPageComponent,
resolve: { group: GroupResolver }
},
或者您可以只使用一个路由,即具有 ID 的路由,并在没有组 ID 时传入一个值,例如 0 或 -1。我在我的编辑页面上使用这种技术来处理编辑 "new" 产品。
或者您可以将 groupId 设为可选参数。但这会改变你的 URL 的样子:http://localhost:3000/groups;groupid=7
这可能不是你想要的。
在我的 Angular 4 应用程序中,我有一个群组部分。它可以显示您当前所有群组的列表 (/groups
),也可以显示特定的群组页面(/groups/21
,即 21
群组 ID)。
出于这个原因,我想启用从同一路由到两个页面的路由。
我试过以下方法:
{ path: 'groups/:groupid', component: GroupPageComponent, resolve: { group: GroupResolver } },
当我导航到特定组时它工作正常,但是当我尝试导航到一般 'all groups' 页面时,它只会重定向到默认的 '*'
匹配,甚至不会加载GroupResolver
.
如果 URL 中没有指定组 ID,我如何启用到 'all groups' 页面的导航?
您可以指定两条路线:
{
path: 'groups',
component: GroupPageComponent,
resolve: { group: GroupResolver }
},
{
path: 'groups/:groupid',
component: GroupPageComponent,
resolve: { group: GroupResolver }
},
或者您可以只使用一个路由,即具有 ID 的路由,并在没有组 ID 时传入一个值,例如 0 或 -1。我在我的编辑页面上使用这种技术来处理编辑 "new" 产品。
或者您可以将 groupId 设为可选参数。但这会改变你的 URL 的样子:http://localhost:3000/groups;groupid=7
这可能不是你想要的。