如何从对象迭代值添加类名?

时间:2018-04-27 03:10:09

标签: angular angular5

我正在尝试使用一些静态值从iterator对象添加类名。 我收到错误,如何从迭代器添加类名?

array[0]

我将<ul style="font-size: 20px"> <li *ngFor="let link of socialLinks" [ngClass]="{ 'icon' + link.label}">{{link.label}}</li> </ul> 添加为静态,将icon添加为对象。

2 个答案:

答案 0 :(得分:3)

不需要括号。

  <li *ngFor="let link of socialLinks" [ngClass]="'icon' + link.label">{{link.label}}</li>

答案 1 :(得分:0)

...添加更多解释。

当您在任何属性的左侧使用属性绑定[]时,您不需要在右侧使用{{}},因为属性绑定本身会将右侧评估为表达式。

<li *ngFor="let link of socialLinks" [ngClass]="{ 'icon' + link.label}">{{link.label}}</li>

因此,在这种情况下,您要求角度来评估"{ 'icon' + link.label}",而link.label已经是表达式。这就是为什么你只需要这样的时间 -

<li *ngFor="let link of socialLinks" [ngClass]="'icon' + link.label">{{link.label}}</li>