2017-03-09 69 views
1

我有這樣 ["2017-03-09 ": Array[6], "2017-03-10 ": Array[2]]NG重複不工作

數組,而這樣做ng-repeat它不工作:

<div ng-repeat="total in sortedOrders"> 
    <div class="col-75">{{total.id}}</div> 
</div> 

fiidledemo

consoled image of array

請幫忙。

+0

你能請出示控制器端代碼打印? –

+0

@AkashKC,這是一個很大的函數和張貼相同不會是培訓相關 –

+0

[「2017年3月9日」:數組[6],「2017年3月10日」:數組[2]]這不是有效的代碼。你可能有一個對象{「...」:「...」}。Ng-repeat不適用於對象 – yBrodsky

回答

0

["2017-03-09 ": Array[6], "2017-03-10 ": Array[2]]不是數組的語法。

數組是一系列以逗號分隔值的,就像這樣:

['one', 'two', 'three'] 

您應該使用一個對象,而不是如果你想存儲一系列鍵值對的:

{ 
    one: 1, 
    two: 2, 
    three: 3 
} 
+0

我已經添加了陣列的安慰圖像。 –

0

對於這個對象,你必須使用兩個ng-repeat,因爲你在對象中有數組,並且這些數組也包含對象。 因此,首先ng-repeat遍歷對象的所有外部值,並且此值是一個數組,因此內部循環遍歷每個對象的此數組,並將對象的id值插入到div中。

<div ng-repeat="inner in sortedOrders"> 
     <div ng-repeat="total in inner"> 
      <div class="col-75">{{total.id}}</div> 
     </div> 
    </div> 
+0

你可以做一個小提琴 –

+0

檢查這一個http://jsfiddle.net/5DMjt/10840/ –

+0

這很好。但我的是陣列。不是對象 –

0

你有陣列裏面的數組,我從你的安慰的圖像。 爲此,如果要顯示所有元素,則必須使用兩個ng-repeat循環。

0

我suposse你創建數組是這樣的: `

var specialArray = []; 
    // assigning values to corresponding keys 
    specialArray["Main"] = [{id:1}]; 
    specialArray["Guide"] = [{id:2},{id:3}]; 

`

,但不是由角模板(檢查我的plunker)的認可。嘗試使用普通對象(也是在plunker中的示例)。

在你JSFidlle變化:

$scope.sortedOrders= []; 
    to 
$scope.sortedOrders= {}; 

及用途:

<div ng-repeat="(d,value) in sortedOrders"> 
    {{value}} 
    </div> 

例子:Plunker

0

編輯在plunker這樣的:

<div ng-app> 
    <h2></h2> 
    <div ng-controller="TodoCtrl"> 
    <div ng-repeat="d in sortedOrders"> 
    <div ng-repeat="(f,value) in d"> 
    {{value.id}} 
    </div> 
    </div> 
</div> 

$scope.sortedOrders=[]; to $scope.sortedOrders={};

你會得到你的ID在HTML頁面