2017-04-13 56 views
0

我如何在角度2/4中編寫這個?Angular 2/4動態造型

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

即使這個代碼將工作在angular2/4,沒有任何問題,是否有任何問題與angular2運行此代碼? –

+0

我在index.html中引用了jquery和master.js,並運行應用程序。 並點擊 - 沒有任何事發生..我做了console.log('mahesh'), 無法在控制檯中看到mahesh。 –

+0

你可以在plunker上發佈你的完整代碼嗎?,生病修復它 –

回答

0

您應該使用屬性綁定

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

你應該在組件的以下

active:boolean =false 
+0

如果我這樣做,我必須把[class.active]放在我的每一個, 我怎麼能避免這樣做? –

+0

您可以在通用樣式表中擁有該類。這個的實際目的是什麼? – Aravind

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