2016-02-18 92 views
0

我有JSON的對象值,其中包含array.i我試圖組合子文檔,但不起作用。我的plunk組子文檔 - angularjs

以下是我的控制器代碼。 控制器

app.controller('MainCtrl', function($scope) { 
    $scope.list = { 
"_id": "56c4758af801160e00d176e0", 
"orderfood": [ 
{ 
"_id": "569d84f04834c10e003dff36", 
"qty": "1", 
"confirm": "placed", 
"price": 125, 
"name": "Paneer Tikka" 
}, 
{ 
"_id": "569d869fff1fe20e00f8ba9b", 
"qty": "1", 
"confirm": "placed", 
"price": 85, 
"name": "Falooda" 
}, 
{ 
"_id": "569d869fff1fe20e00f8ba9b", 
"qty": "1", 
"confirm": "placed", 
"price": 85, 
"name": "Falooda" 
} 
], 
"title": "Status", 
"created": "2016-02-17T13:28:42.226Z" 
} 
}); 

下面是我的HTML代碼 HTML

<p ng-repeat="(key,value) in list.orderfood | groupBy:'name'"> 
    {{key}} 
</p> 

plunk

回答

1

不知道你希望你的輸出中是什麼,但你需要做到這一點自定義功能:

<div ng-app ng-controller="Main"> 
    <div ng-repeat="list in itemsToFilter() | filter:filterNames"> 
     <b>{{list.name}}</b> 
     <li ng-repeat="item in itemsToFilter() | filter: {name: list.name}">NAME: {{item.name}}- PRICE: {{item.price}}, etc...</li>   
    </div> 
</div> 

然後在你的控制器:

function Main($scope) { 
$scope.list = { 
"_id": "56c4758af801160e00d176e0", 
"orderfood": [ 
{ 
"_id": "569d84f04834c10e003dff36", 
"qty": "1", 
"confirm": "placed", 
"price": 125, 
"name": "Paneer Tikka" 
}, 
{ 
"_id": "569d869fff1fe20e00f8ba9b", 
"qty": "1", 
"confirm": "placed", 
"price": 85, 
"name": "Falooda" 
}, 
{ 
"_id": "569d869fff1fe20e00f8ba9b", 
"qty": "1", 
"confirm": "placed", 
"price": 85, 
"name": "Falooda" 
} 
], 
"title": "Status", 
"created": "2016-02-17T13:28:42.226Z" 
} 

var indexedTeams = []; 

$scope.itemsToFilter = function() { 
    indexedTeams = []; 
    return $scope.list.orderfood; 
} 

$scope.filterNames = function(item) { 
    var nameIsNew = indexedTeams.indexOf(item.name) == -1; 
    if (nameIsNew) { 
     indexedTeams.push(item.name); 
    } 

    return nameIsNew; 
} 
} 

這裏是一個鏈接... js-fiddle exmple: http://jsfiddle.net/L6cQN/305/

+0

謝謝你,這就是我一直在尋找 –

+0

不客氣。 –