Angular 无法路由到延迟加载模块中的子级
我是一个新的开发人员到角4。在我的一个项目中,我使用延迟加载进行路由。延迟加载模块包含子组件。然而,路由到子组件总是会失败并出现错误Angular 无法路由到延迟加载模块中的子级,angular,angular4-router,Angular,Angular4 Router,我是一个新的开发人员到角4。在我的一个项目中,我使用延迟加载进行路由。延迟加载模块包含子组件。然而,路由到子组件总是会失败并出现错误 Error: Cannot match any routes. URL Segment: 'home/addGroup' 如果我做错了什么事,你能帮忙吗?我尝试了所有的方法,但都没有成功 下面是我的模块和路由 index.html: 我发现了问题。我必须承认,当我发布这个问题时,我的理解是错误的 我必须在这里提到几点 我使用app.routes中的路由“ho
Error: Cannot match any routes. URL Segment: 'home/addGroup'
如果我做错了什么事,你能帮忙吗?我尝试了所有的方法,但都没有成功
下面是我的模块和路由
index.html:
我发现了问题。我必须承认,当我发布这个问题时,我的理解是错误的
我必须在这里提到几点
我使用app.routes中的路由“home”路由到homeModule
在home.routes中,我将“HomeComponent”作为默认值加载。因此,路由到“HomeComponent”是成功的
如果我们敏锐地观察回家的路线
它包含一条单独的“回家”路线
由于这个不同的“home”路由在“app.routes”中也包含相同的名称“home”,这增加了很多混乱
有两种方法可以纠正我的错误
一,。
首先,为了消除混淆,将home.route中的“home”路径更改为“welcome”
path: 'home', component: HomeComponent,
到
现在,修复实际的bug
{ path: '', component: HomeComponent, pathMatch: 'full' }
应改为
{ path: '', redirectTo: 'welcome', pathMatch: 'full' }
这将在加载homeComponent时重定向到home/welcome。当你点击addGroup时,它会重定向到“/addGroup”。因此,结果路径将是“/home/welcome/addGroup”
您是否尝试从routerLink中删除支架?像这样:是的,我试过了。但结果是一样的。错误:无法匹配任何路由。URL段:“home/addGroup”尝试在
home组件中向routerLink
-[routerLink]=“['home',addGroup']”添加完整路径。
@ManojChalode:我没能告诉你。它就是这样工作的。但我发现其中有两个问题。1.url显示为“”。路径包含“home”2次。我觉得应该这样来表现。它应该显示为“”。不是吗?2.如果我有10条RouterLink,我必须在所有路线上不必要地给出“家”?
path: 'home', component: HomeComponent,
path: 'welcome', component: HomeComponent,
{ path: '', component: HomeComponent, pathMatch: 'full' }
{ path: '', redirectTo: 'welcome', pathMatch: 'full' }
export const router: Routes = [
{ path: '', component: HomeComponent,
children:[
{path: 'addItem/:groupName', component:AddItemComponent},
{path: 'addGroup', component:AddGroupComponent}
]
}
];