1

我想根据角度表达式的评估创建类名,但似乎角度正在从最终编译的类中删除这些表达式。迭代单元格时,假设以下代码:

<td ng-class="{'label{{cell.count}}': !!cell.count}"></td>

我的目标是,当 cell.count = 1 时,结果类将为“label1”,当 cell.count = 2 时,“label2”等。实际上,发生的情况是 angular 会丢弃最终类中的表达式 - 只要作为!!cell.count,无论计数如何,我都会得到类“标签”。我怎样才能做到这一点?

4

3 回答 3

2

尝试这个:

<td ng-class="{'label'+cell.count: !!cell.count}"></td>

如果它变得太复杂,您还可以将整个对象移出范围内的函数。

<td ng-class="getCellClass()"></td>

接着:

$scope.getCellClass = function() { ... }

你的问题是{{...}}替换在这里不合适。您必须使用角度表达式来创建对象,或者如果您在范围上调用方法,则可以执行创建它所需的任何 javascript。

于 2015-09-10T15:22:43.503 回答
0

你有没有尝试过:<td ng-class="'label' + cell.count"></td>- 在我的项目中根本不使用花括号对我有用(角度 1.5)。

于 2018-09-21T22:06:01.537 回答
0

我遇到过同样的问题。我设法像这样解决它:

<td ng-class="{['label' + cell.count]: !!cell.count}"></td>
于 2019-01-10T07:47:53.300 回答