2017-03-19 9 views
1

特定の条件に基づいて、ng-repeatの最後のdivに別の幅を付けたいとします。私は、クラスの最後div-ng-repeatの最後の要素にカスタムクラスを適用する

<div ng-repeat="variable in variables" ng-class="{(a>b)?'class-a':'class-b':$last}"> 
     <span> element</span> 
</div> 

に適用することにしたい。しかし、それは仕事をdoesnot Bよりも大きい場合にはのようなものです。構文が間違っていますか?

+0

おそらく、:last-childプロパティを使用してCSSで行うことは可能でしょうか? – bronlund

+0

'ng-class =" '{' class-a ':(a> b)&& $ last、' class-b ':(a <= b)&& $ last} "' –

+0

または 'ng-class =" a> b && $ last? 'class-a':($ last? 'class-b': '') "' –

答えて

1

最後のdivのスタイルを変更したい場合はa > bとしてください。

<div ng-repeat="value in data" ng-class="[{'blue':((a > b) && $last)},{'red':((a < b) && $last)}]"> 
     {{value}} 
</div> 

complete example.
希望このヘルプを確認してください:
あなたのような何かを試すことができます。

1

クラスが最初に来てから評価する式が来ます。あなたのケースではそう

<ANY class="ng-class: expression;"> ... </ANY> 

ngClassドキュメントから撮影

bよりも大きいと、それはng-で最後だ場合は、上記の

<div ng-repeat="variable in variables" ng-class="{'class-a': a > b && $last}"> 
    <span> element</span> 
</div> 

は、divの上class-aが追加されます繰り返す。 Bよりも大きい場合、それはNGリピートで最後だ場合、それはDIVにclass-bを追加する場合

<div ng-repeat="variable in variables" ng-class="{'class-a': a > b, 'class-b': $last}"> 
    <span> element</span> 
</div> 

上記は、DIVにclass-aを追加します。

関連する問題