2016-10-25 9 views
0

特定のArrayキー( "currenttank")オブジェクト( "targets")を使用しようとしています。ディレクティブの部分は以下のようになります。Angular JS ng-repeatで動的配列キーを使用

<tr ng-repeat="item in tanks[{{currenttank}}].targets"> 
     <td ng-bind="item.time"></td> 
     <td ng-bind="item.target"></td> 
     <td></td> 
     <td></td> 
    </tr> 

次の構文エラーが発生します。?

https://docs.angularjs.org/error/ $解析/構文P0 =%7B & P1 =無効%20key & P2 = 8 & P3 =タンク%5B%7B%7Bcurrenttank%での7Dの%の7D%5D.targets & P4 =%7Bcurrenttank%7D%7D%5D.targets%20at%20Error%20(ネイティブ)

私が使用方法を理解していませんダイナミック指示の中のキー。私は常に中括弧内の変数を使用していますが、ここではうまくいかないようです。

ありがとうございました。 Steffen

答えて

1

この式が{{}} sytaxである必要はありません。 また、いくつかのデータが最初に設定されていない場合、レンダリングを防止するために、すべてをng-ifにラップすることもできます。 Ng-ifは優先順位が高いため、必要なときまでコードが実行されないようにします。

<tr ng-repeat="item in tanks[currenttank].targets"> 
    <td ng-bind="item.time"></td> 
    <td ng-bind="item.target"></td> 
    <td></td> 
    <td></td> 
</tr> 
+0

完全なデモが必要な場合は、https://plnkr.co/edit/6sSVpeW458dGxk1dQmm1 –

関連する問題