2016-11-10 11 views
0

演算子を使用して、値がng-classの他の数値または変数と等しいかどうかを確認してから、それに応じて。基本的に私は彼らのprobに基づいてdivを色付けしたい。ng-classで演算子(>、<、==、!=)を使用する

ng-classの使用は正しいですか? それは

{{1-apStats.preMappedProbability.toFixed(3)}} 

の値を出力しますが、NG-クラスタグは動作しません。何か理由は?

<div ng-class="(1-apStats.preMappedProbability.toFixed(3) >=0.5) ? 'yellowClass':'redClass'"> {{1-apStats.preMappedProbability.toFixed(3)}} </div> 

私は間違っていますか?

ng-class="{moreBtnGray : condition}" 

をお使いの場合 - - あなたは次のように条件付けその後、クラス名を与える必要がまず、NG-クラスディレクティブで

+0

。配列を使用するか、適切な構文を使用してください:https://docs.angularjs.org/api/ng/directive/ngRepeat –

+0

また、あなたのテンプレートでは、 'prob1.p'の代わりに' '1-prob.p'を使用しています。 [この質問](http://stackoverflow.com/questions/15127834/how-can-i-iterate-over-the-keys-value-in-ng-repeat-in-angular)を見て反復する方法を見てくださいオブジェクトの上に適切に配置すると、受け入れられた解答のコメントからわかるように、データを配列に変換することをお勧めします。 – GillesC

+0

prob1、prob2、prob3などの確率オブジェクトのリストがあります。そして、私はそれらのオブジェクトを繰り返しています。とにかく、私はそれが間違っているかどうかチェックします。 ng-classが正しく使用されているかどうかを教えてください。 – Subhash

答えて

2

@Subhash

をありがとう、あなたはすべきです2つのngクラスを使用し、それに応じて状態を維持する。

<div ng-class="{yellowClass: condition1, redClass:condition2}">{{1-prob.p}} </div> 
+0

編集した質問を見て教えてください。ありがとうございました – Subhash

0
<div ng-repeat="item in probability"> 
<div ng-class="(1-item.prob.p)>=0.5 ? 'yellowClass':'redClass'">{{1-item.prob.p}} </div> 

1

構文:オブジェクトのキー/値のペアを反復するための正しい構文ではありません

<element ng-class="class : conditionExpression"></element> 

修正あなたのng-classこのよう

<div ng-class="'yellowClass': 1-apStats.preMappedProbability.toFixed(3) >= 0.5; 'redClass' : anotherCondition">{{1-apStats.preMappedProbability.toFixed(3)}}</div> 
関連する問題