在角度2

时间:2016-12-10 16:44:38

标签: angular expression ng-class

我需要在angular 2 HTML模板中使用modulo division。所以,我在Angular 2 Docs中找不到任何与模数除法相关的表达式。那么,有什么方法可以满足我的要求吗?

这就是我想做的事。 根据索引添加类(颜色代码)。

[ngClass]="{'color0': i===0, 'color1': i===1, 'color2': i===2, 'color3': i===3, 'color4': i===4, 'color5': i===5, 'color6': i===6, 'color7': i===7, 'color8': i===8, 'color9': i===9}"

以这种方式在第9个索引之后我无法获得颜色。并且,添加更多类将使该行更长。

2 个答案:

答案 0 :(得分:1)

在你的组件类中添加:

ngOnInit() {
    this.colors = ["color0", "color1", "color2", ........];
}

并在模板中更改为:

[ngClass]="colors[i]"

答案 1 :(得分:0)

对不起,我不是很明白,但是你可以把这个逻辑放在 ngClass 上:

[ngClass]="( i % 2 === 0 ) ? 'blue' : 'red' "

这样一来,所有 2 的倍数都会变成蓝色,所有 3 的倍数都会变成红色。

也许这个例子可以帮助你改进你的逻辑。