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
Angular 角度4子路由仅适用于数字_Angular - Fatal编程技术网

Angular 角度4子路由仅适用于数字

Angular 角度4子路由仅适用于数字,angular,Angular,在我的angular4项目中,我试图实现子路由。 路线是 path: 'adminPanel', component: AdminPanelComponent, children: [ { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, { path: 'dashboard', component: DashboardComponent }, { path: 'settin

在我的angular4项目中,我试图实现子路由。 路线是

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']"