Javascript 角度4中元素的更改属性

Javascript 角度4中元素的更改属性,javascript,html,css,angular,Javascript,Html,Css,Angular,我建造了机翼导航 <ul class="topnav"> <li *ngFor="let menuItem of menuItems; let index = index"> <a (click)='onClick($event)' [class.active]="index == 0" routerLink="{{ menuItem.link }}">{{ menuItem.name }}</a>

我建造了机翼导航

<ul class="topnav">
        <li *ngFor="let menuItem of menuItems; let index = index">
          <a (click)='onClick($event)' [class.active]="index == 0" routerLink="{{ menuItem.link }}">{{ menuItem.name }}</a>
        </li>
      </ul>
我在元素中添加了方法onClick 我在与这个html对应的类中的typescript文件中定义了这个方法

onClick(someobject): void {
      someobject.target.attributes['class'].value = "active";
      console.log(someobject);
    }
但是,活动类不适用于选定元素。还有什么是如何从上一个元素中清除标记类活动的?

请尝试routerLinkActive指令。如果您的路线也是另一条路线的一部分,则需要选项{exact:true}

<a routerLink="dashboard" 
   routerLinkActive="active" 
   [routerLinkActiveOptions]="{exact:true}"
>Dashboard</a>
参考:

脚注
将指令添加到Nav中的每个锚定标记,它将负责添加和删除。

[attr.class]={index==0:'active'}>也许?@Z.Bagley它应该放在哪里?如何删除?我应该在方法中添加一些其他参数吗?它应该足以将指令放在每个参数上,它将为您调整所有参数。
<a routerLink="dashboard" 
   routerLinkActive="active" 
   [routerLinkActiveOptions]="{exact:true}"
>Dashboard</a>