2017-07-22 6 views
3

次のコード行で問題を把握できますか?ng-repeat指令のng-class属性での関数呼び出し

<tr ng-repeat="myrecord in myData" 
    ng-class="togglecolor('{{myrecord.name}}','{{myrecord[$index-1].name}}')? 'yellow':'red'"> 

ここで、togglecolor()関数はtrueまたはfalseを返します。 黄色と赤色が行に適用されません。

答えて

2

あなたのng-class指示の中で{{}}補間を使用しないでください。実装は直接togglecolorメソッドからクラスを返すだろう

ng-class="togglecolor(myrecord.name,myrecord[$index-1].name)? 'yellow':'red'" 

良いです。

ng-class="togglecolor(myrecord.name,myrecord[$index-1].name)" 

コード

$scope.togglecolor = togglecolor; 
function togglecolor(name, prevName){ 
    var flag; 
    //some awesome logic set flag value here, either true/false 
    return flag ? 'yellow': 'red'; 
} 
+0

に取り組んでいるが、NG-クラスで式を評価使用していない使用する別の方法今。スクリプトにもう1つ問題がありました。 - app.value( 'rowcolor'、{value: 'yellow'});を使用して1つのグローバル変数を宣言する必要があります。 – developer

1

fucntionの簡単なグレート!!、ありがとう、それは

<tr ng-repeat="myrecord in myData" 
    ng-class="{true:'yellow', false:'red'} [toggleColor]> 
関連する問題