Angular 2根据应用于div

时间:2018-02-08 09:54:39

标签: javascript css angular ng-class

我有一个带有* ngFor的div来循环一系列消息。

<div *ngFor="let message of messages;  let i=index" 
 [focused]="i === activeIndex;" [ngClass]="{'message-list-active': activeIndex === i  }" 
(click)="onAddtoMessage(message.id); activeIndex = i"></div>

我在焦点项目上应用class "message-list-active",此消息将颜色更改为蓝色。

点击时我点击了一下我可以传递消息ID。

问题是如何通过不点击来传递ID,而是传递具有&#39; message-list-active&#39;应用。因为将来可以默认选择随机消息,我需要它们的ID。

1 个答案:

答案 0 :(得分:3)

使用[ngClass]

中的功能
<div *ngFor="let message of messages;  let i=index" 
 [focused]="i === activeIndex;" [ngClass]="{
        'message-list-active': activeClass(i, message)
 }" 
(click)="onAddtoMessage(message.id); activeIndex = i"></div>


activeClass(index, message){
   if(index === this.activeIndex){console.log(message.id)}
   return index === this.activeIndex;
}