Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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
Angular4路由器与参数URL冲突_Angular_Routing_Angular Routing - Fatal编程技术网

Angular4路由器与参数URL冲突

Angular4路由器与参数URL冲突,angular,routing,angular-routing,Angular,Routing,Angular Routing,我有3条路由,一条用于应用程序模块,另一条用于管理部分,最后一条用于客户端。这是: ——应用程序路由-- 导出常量路由:路由=[ {path:'admin',loadChildren:'app/admin/admin.module#AdminModule'}, {路径:'',重定向到:'home',路径匹配:'full'}, {路径:'**',重定向到:'home',路径匹配:'full'} ]; --管理路由-- 常数路由:路由=[ {路径:“”,组件:AdminComponent, 儿童:

我有3条路由,一条用于应用程序模块,另一条用于管理部分,最后一条用于客户端。这是:

——应用程序路由--
导出常量路由:路由=[
{path:'admin',loadChildren:'app/admin/admin.module#AdminModule'},
{路径:'',重定向到:'home',路径匹配:'full'},
{路径:'**',重定向到:'home',路径匹配:'full'}
];
--管理路由--
常数路由:路由=[
{路径:“”,组件:AdminComponent,
儿童:[
{路径:'',重定向到:'evements',路径匹配:'full'},
{路径:“事件”,组件:AdminEventComponent}
]
}
];
--客户端路由--
常数路由:路由=[
{路径:“”,组件:CoreComponent,
儿童:[
{路径:'',重定向到:'home',路径匹配:'full'},
{path:'home',component:HomeComponent},
{路径:':city',组件:HomeComponent}
]
}

];
解决此问题的一种方法是将路径
:city
更改为
home/:city
,但这可能不是您想要做的


编辑:删除了无效的旧答案,仅保留上述答案作为解决OP所述问题的替代方法。

解决问题的一种方法是将路径
:city
更改为
home/:city
,但这可能不是您想要做的



编辑:删除了不起作用的旧答案,仅保留上述答案作为解决OP所述问题的替代方法。

为什么要使用路径参数类型route
:city
,因为我需要它向用户显示有关城市的信息这是一个动态参数,我需要在我的URL
http://myDomain/City1
http://myDomain/City2
并为正确的组件提供信息抱歉,我错了,我建议您从管理和客户端路由中删除该组件,仅从顶层删除,并使用路径。当您使用惰性加载时,为什么要使用路径参数类型route
:city
,因为我需要它向用户显示有关城市的信息,这是一个动态参数,我需要在我的URL
http://myDomain/City1
http://myDomain/City2
并为正确的组件提供信息抱歉,我错了,我建议您从管理和客户端路由中删除该组件,仅从顶层删除,并使用路径。因为您正在使用惰性加载感谢您的回答,但第一个解决方案无法满足我的需要,因为我不想使用
http://domain/home/:city
第二个坏了。听到这个消息我很难过。您是否尝试在所有路由中的所有路径上添加
pathMatch:“full”
?是的,这造成了混乱:(,我试图理解为什么路由器在试图将其解析为:city之前没有先检查/admin。它给了我一个头痛的问题。当涉及到这些路由时,订单有很多话要说。如果您的
admin
在您的
:city
之前,我理解这会给您带来问题。请确保您的
admin
路径是正确的luated before
:city
,如果您还没有。如果我在clientModule之前导入adminModule,效果会很好。但是,adminModule必须延迟加载,这意味着我不能将其导入应用程序模块。感谢您的回答,但第一个解决方案无法满足我的需求,因为我不想拥有
http://domain/home/:city和第二个不起作用。听到这个消息我很难过。您是否尝试在所有路由的所有路径上添加
路径匹配:'full'
?是的,它造成了混乱:(,我试图理解为什么路由器在试图将其解析为:city之前没有先检查/admin。它给了我一个头痛的问题。当涉及到这些路由时,订单有很多话要说。如果您的
admin
在您的
:city
之前,我理解这会给您带来问题。请确保您的
admin
路径是正确的luated before
:city
,如果您还没有。如果我在clientModule之前导入adminModule,效果会很好。但是,adminModule必须是延迟加载的,这意味着我不能在app module中导入它。