Angular 角度4子路由仅适用于数字
在我的angular4项目中,我试图实现子路由。 路线是Angular 角度4子路由仅适用于数字,angular,Angular,在我的angular4项目中,我试图实现子路由。 路线是 path: 'adminPanel', component: AdminPanelComponent, children: [ { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, { path: 'dashboard', component: DashboardComponent }, { path: 'settin
path: 'adminPanel', component: AdminPanelComponent,
children: [
{
path: '',
redirectTo: 'dashboard', pathMatch: 'full'
},
{
path: 'dashboard',
component: DashboardComponent
},
{
path: 'setting1',
component: Setting1Component
},
{
path: 'setting2',
component: Setting2Component
},
]
AdminPanelComponent中提供了以下链接:
<li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact : true}">
<a [routerLink]="dashboard">Dashboard</a>
</li>
<li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact : true}">
<a [routerLink]="setting1">setting1</a>
</li>
<li >
<a [routerLink]="setting2">setting2</a>
</li>
仪表板
设置1
设置2
运行代码时,只有“dashboard”组件在工作,导航到父级“adminPanel”时默认加载该组件,因为它是父级的默认子级
但是当我点击其他两个链接时,它们就不起作用了。但当我在地址栏上手动输入url时,它会重定向到所需的组件
经过多次调整后,我发现当我将路径值更改为数字(此处“dashboard”为“1”,“setting1”为“2”,而“setting3”为“3”)时,它是有效的
设置1
仪表板
设置2
而且也得到了认可
我错过什么了吗 您的语法错误。应该是
routerLink="setting1"
或
根据您使用的语法,
setting1
是一个角度表达式,因此angular将其作为当前组件进行计算。setting1,即当前组件名为setting1
的属性。我不太理解这个问题,但如果使用“,行为是否会改善。它取决于包含
routerLink`的组件。我无法从提供的信息中得出这一点。@GünterZöchbauer,我编辑了我的问题并尝试了
,结果出现了一个错误未捕获错误:模板解析错误:解析器错误:ng:///AppModule/SidebarComponent中[/adminPanel/setting1]第1列的意外标记/。html@5:19(“][routerLink]=“/adminPanel/setting1”>仪表板
My bad,请删除[]
routerLink@GünterZöchbauer周围的
@GünterZöchbauer,谢谢,现在我可以用了。
routerLink="setting1"
[routerLink]="['setting1']"