首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新加载页面后未设置RouterLinkActive

重新加载页面后未设置RouterLinkActive
EN

Stack Overflow用户
提问于 2017-11-23 17:26:36
回答 2查看 1.8K关注 0票数 2

我正在处理路由和导航。我正在使用[routerLinkActive]="['active']"来激活一个链接。当我导航到其他路线时,它工作得很好。

但是当当前页面被刷新时,'routerLinkActive‘不起作用,也没有链接处于活动状态。我需要选择该链接才能使其再次激活。有没有办法在页面重新加载后激活该链接。

示例:

app-routing.ts

代码语言:javascript
复制
   {
    path: 'home', 
    children: [
      {path: 'product', component: ProductComponent},
      {path: 'dualList', component: DualListComponent},
      {path: 'member', component: MemberComponent},
      {path: '', component: HomeComponent}
    ]
  },
  {path: 'about', component: AboutComponent}

home.component.html

代码语言:javascript
复制
  <a [routerLink] = "['/home', 'product']" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">Product</a>
  <a [routerLink] = "['/home', 'dualList']" routerLinkActive="active">Dual List</a>
  <a style="padding-left: 20px" [routerLink] = "['/home', 'member']" routerLinkActive="active">Member</a>

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2017-11-23 17:32:50

试着这样做:

您只能为主页url设置routerLinkActiveOptions:

代码语言:javascript
复制
<ul>
    <li routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">
        <a routerLink="/">Home</a>
    </li>
    <li routerLinkActive="active">
      <a [routerLink]="['home/product']">Product</a>
    </li>
    <li routerLinkActive="active">
      <a [routerLink]="['home/dualList']">Dual List</a>
    </li>
    <li routerLinkActive="active">
      <a [routerLink]="['home/member']">Member</a>
    </li>
</ul>
票数 1
EN

Stack Overflow用户

发布于 2017-11-23 17:57:11

尝试这个希望它会工作,我想你还没有意识到渲染器read this

在home.component.ts中(与home.component.html相关)

代码语言:javascript
复制
import {Renderer} from '@angular/core';

export class homeComponent {
 userTypeSelect(event:any){
    event.preventDefault()
    this.render.setElementClass(event.target,"active",false);
  }

  constructor(private render:Renderer) {
  }
}

home.component.html

代码语言:javascript
复制
<li role="presentation" (click)="userTypeSelect($event)" [routerLinkActive]="['active']">
   <a routerLink="/product">Product page</a>
</li>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47451840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档