2016-06-17 8 views
0

私はモーダルから渡す結果から私が押しているオブジェクトの配列の配列を持っています。ng-repeatは最初の結果のみを表示するのはなぜですか?

[ 
    [ 
{ 
    "id": 4, 
    "name": "THROTTLE TUBE", 
    "partno": "104-", 
    "oemnumber": "46019 038", 
    "stock": 19, 
    "price": "28" 
}, 
{ 
    "id": 28, 
    "name": "TACHOMETER, CUP", 
    "partno": "128-", 
    "oemnumber": "25012 011", 
    "stock": 7, 
    "price": "46" 
} 
    ] 
] 

私はこれを次のようにしています。

$scope.woParts = []; 

//later in my modal code - which is where the double [] is coming from 
modalInstance.result.then(function(woParts) { 
     $scope.woParts.push(woParts); 

私は自分の見解でこのng-repeatを使用しています。

<div ng-repeat="woPart in woParts"> 
    <div class="col-md-4"> 
     @{{ woPart[$index].name }} 
    </div> 
    <div class="col-md-2"> 
     @{{ woPart[$index].oemnumber }} 
    </div> 
    <div class="col-md-2"> 
     @{{ woPart[$index].price | currency}} 
    </div> 
    <div class="col-md-2"> 
     <input type="number" 
      class="form-control" 
      ng-model="partQty"> 
    </div> 
</div> 

これは、配列の最初の結果のみを表示します。何故ですか? ありがとう!

+0

なぜ私はそれがwiiうまく動作すると思う場合は、jsonにダブル[]を入れて尋ねることができます – abdoutelb

+0

良い質問。私の編集を確認してください... – RushVan

+0

{woPart.name}} "woPart"私が理解しているのは、配列内のオブジェクトを指していないと指摘しています – abdoutelb

答えて

1

woPartsを別のオブジェクトにプッシュする必要はありません。範囲:$scope.woParts = woParts;に保存してください。次に、ngRepeatに$indexを使用する必要はありません。通常のドット表記を使用してください:woPart.name

また、woPartsを別の配列にプッシュする必要がある場合は、ngRepeat式をwoPart in woParts[0]に変更することができます。

+0

ありがとうございました! – RushVan

関連する問題