Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如果未指定URL参数,则导航到路由_Angular_Angular Routing - Fatal编程技术网

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

Angular 如果未指定URL参数,则导航到路由,angular,angular-routing,Angular,Angular Routing,在我的Angular 4应用程序中,我有一个组部分。它可以显示当前所有组的列表,也可以显示特定的组页/groups/21,即组ID 因此,我希望启用从同一路由到两个页面的路由 我尝试了以下方法: { path: 'groups/:groupid', component: GroupPageComponent, resolve: { group: GroupResolver } }, 当我导航到一个特定的组时,它可以正常工作,但是当我尝试导航到常规的“所有组”页面时,它只会重定向到默认的“*”匹

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

因此,我希望启用从同一路由到两个页面的路由

我尝试了以下方法:

{ path: 'groups/:groupid', component: GroupPageComponent, resolve: { group: GroupResolver } },
当我导航到一个特定的组时,它可以正常工作,但是当我尝试导航到常规的“所有组”页面时,它只会重定向到默认的“*”匹配,甚至不会加载GroupResolver


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

您可以指定两个路由:

{ 
   path: 'groups', 
   component: GroupPageComponent, 
   resolve: { group: GroupResolver }
},
{ 
   path: 'groups/:groupid', 
   component: GroupPageComponent, 
   resolve: { group: GroupResolver }
},
或者,当没有组id时,您可以只使用一个路由(具有id的路由),并传入值,如0或-1。我在编辑页面上使用此技术来编辑新产品

或者,您可以将groupId设置为可选参数。但这会改变您的URL的外观:http://localhost:3000/groups;groupid=7,这可能是不需要的


使用导航键,这比我要写的答案要好——我包括了一位家长,当然是在反思中,这是没有必要的,原则是一样的。但是如果你想把它添加到你的答案中。如果您觉得有必要,您可以编辑出父组件以匹配您的答案好答案!我喜欢有两条路线的替代方案。因为这样你就可以在浏览器字段中获得更清晰的URL/组而不是…/groups/-1。使用2条路线似乎是最好的选择。