我想基于某个条件给ng-repeat的最后一个div赋予单独的宽度。如果a大于b,我想将class-a应用于最后一个div -
<div ng-repeat="variable in variables" ng-class="{(a>b)?'class-a':'class-b':$last}">
<span> element</span>
</div>
但它不起作用。语法错了吗?
答案 0 :(得分:1)
首先是类,然后是要评估的表达式。
取自ngClass
文档:
<ANY class="ng-class: expression;"> ... </ANY>
所以在你的情况下:
<div ng-repeat="variable in variables" ng-class="{'class-a': a > b && $last}">
<span> element</span>
</div>
如果a大于b并且它是ng-repeat中的最后一个,则上面将在div上添加class-a
。
<div ng-repeat="variable in variables" ng-class="{'class-a': a > b, 'class-b': $last}">
<span> element</span>
</div>
如果a大于b,则上面会将class-a
添加到div中,如果它是ng-repeat中的最后一个,它会将class-b
添加到div中。
答案 1 :(得分:1)
希望我理解正确,如果a > b
,你想要改变最后一个div 的风格。
您可以尝试使用以下内容:
<div ng-repeat="value in data" ng-class="[{'blue':((a > b) && $last)},{'red':((a < b) && $last)}]">
{{value}}
</div>
请检查complete example.
希望这有帮助。