Angular 2/4动态样式

时间:2017-04-13 05:42:25

标签: jquery angular

我怎么用角2/4写这个?

  $('nav ul li a').click(function(){  
    $(this).closest('li').addClass('active'); 
  });

2 个答案:

答案 0 :(得分:1)

你可以动态添加css类,例如见这里

<ul>
  <li *ngFor='let menu of navMenu'>
        <a (click)='Styling(menu)' [class.active]='menu?.active'>hello {{menu?.name}}</a>
  </li>
</ul>

Styling(menu){
    for(let i=0; i< this.navMenu.length; i++){
      this.navMenu[i].active = false;
    }
    menu.active = true;
  }

Working Plunker

答案 1 :(得分:0)

您应该使用属性绑定

<nav>
    <ul> 
        <li> 
            <a [class.active]="active"></a>
        </li>
    </ul>
</nav>

您应该在组件

中包含以下内容
active:boolean =false