2017-03-09 76 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页面