2016-04-19 15 views
0

ng-repeatのデュオを使用して行列テーブルを作成していますが、データを更新した後にカラーリング関数(引数が0より大きい場合、 。2D配列を更新した後にカラー化関数が機能しない

最初の(偽の)データを読み込むと、色はうまく機能しますが、更新後は正常に機能しなくなります。 2次元配列を初期化するとき、常にロードされて正しく表示されます。私は、デバッグエラーやロジックに問題がないことを発見しました。

Jfiddle更新**:オリジナルの2D配列のいくつかの値を変更するシンプルな関数を作成しましたが、まだ色を更新しないという問題に直面しています。私はこれがAngularJSの問題(欠点?)であり、データそのものの問題ではないことはかなり肯定的です。私はあなたの問題は、クラス結合であると考えてい

HTML

<!-- MATRIX TABLE --> 
    <div class="center w80" > 
     <div id = "MatrixTable2"> 
      <table border="1"> 
       <thead> 
        <tr> 
         <th></th> <!-- blank --> 
         <th ng-repeat="ppp in PlayerIDList">{{ppp.name}}</th> 
        </tr> 
       </thead> 
       <tbody> 
        <tr width="50px" ng-repeat="row in Matrix" > 
         <td class="rowlabel">{{PlayerIDList[$index].name}}</td> 
         <td width="50px" ng-repeat="col in row track by $index" ng-class="::funcGetColorByBool({{col}})">{{col}}</td> 
        </tr> 
       </tbody> 
      </table> 
     </div> 
     <!-- END MATRIX TABLE --> 
+0

あなたの質問にあなたのjsコードを追加してください。また、問題を示す[jsfiddle](https://jsfiddle.net)も素晴らしいでしょう。 – AWolf

+0

問題に影響しないコードページがあります。私はfuncGetColorByBool()関数に入るデータとデータ型を監視し、それらは実際の値を更新する前後に同じです。伝統的な欠陥とは対照的に、ページは更新されていないようです。 –

答えて

1

は、::プレフィックスは、この式は一度だけ評価されることを意味します。

"::funcGetColorByBool({{col}})" 

また、あなたがCOLの値を渡すためにあなたの表現を修正する必要がありますから

ng-class="::funcGetColorByBool({{col}})" 

へ:

ng-class="funcGetColorByBool(col)" 

Here作業計画ケー。

+0

他の角度のあるプロジェクトでも同じスタイルの関数呼び出しを使用しています。私はしかし::なしで試してみましたが、問題は依然として続きます。悲しい。 –

+0

ng-classは式を受け入れます。だからあなたは{{binding}の構文を必要としません。 –

+0

AH!あなたは私のためにそれを明確にしました。ありがとう –

関連する問題