代码之家  ›  专栏  ›  技术社区  ›  Victor Aurélio

子路由上的RouterLinkActive all false

  •  10
  • Victor Aurélio  · 技术社区  · 9 年前

    { path: '', component: LoginSingupComponent,
      children: [
        { path: 'login', component: LoginComponent },
        { path: 'singup', component: SingupComponent },
      ]
    },
    

    导航到 /login 或 /singup 工作正常(加载了正确的组件)。

    LoginSingupComponent

    <nav md-tab-nav-bar class="mb-1">
      <a md-tab-link routerLink="/login" routerLinkActive [routerLinkActiveOptions]="{exact: true}" #rla="routerLinkActive" [active]="rla.isActive">Entrar {{rla.isActive}}</a>
      <a md-tab-link routerLink="/singup" routerLinkActive [routerLinkActiveOptions]="{exact: true}" #rla="routerLinkActive" [active]="rla.isActive">Criar uma conta{{rla.isActive}}</a>
    </nav>
    

    启用时 /登录 全部的 rla.isActive == false 启用时 /信号 全部的 rla.isActive == true

    exact: true

    2 回复  |  直到 9 年前
        1
  •  14
  •   Chandru    9 年前

    试着这样做:

    <nav md-tab-nav-bar class="mb-1">
        <a md-tab-link [routerLink]="['/']" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">Home</a>
        <a md-tab-link [routerLink]="['/login']" routerLinkActive="active">Login</a>
        <a md-tab-link [routerLink]="['/singup']" routerLinkActive="active">Signup</a>
    </nav>
    
        2
  •  5
  •   Victor Aurélio    9 年前

    发现问题。

    这是因为我用相同的变量名导出了两个ROINTERLINKACTIVE,这导致了这种奇怪的行为。

    <a md-tab-link routerLink="/auth/login" routerLinkActive [active]="rlal.isActive" #rlal="routerLinkActive">Entrar {{rlal.isActive}}</a>
    <a md-tab-link routerLink="/auth/singup" routerLinkActive [active]="rlas.isActive" #rlas="routerLinkActive">Criar uma conta{{rlas.isActive}}</a>
    

    解决了问题。