2014-02-18 19 views
2

所以我有這個選擇窗口,我想按2個對象數組分組。我有子類別和根類別對象。子類別具有關聯ID,用於鏈接到根類別的ID。我想要的是下拉窗口按子類別名稱對子類別進行分組。就目前而言,我只是通過不同的關係ID進行分組。根本不使用rootcategory。有什麼建議?在使用angularJS中的組時遇到問題

從html頁面;

<div ng-controller="categoryController"> 
    <select ng-model="$parent.subCategoryObject" data-ng-options="subCategories.subCategory group by subCategories.relation for subCategories in subCategories"> 
     <option value="">Velg en kategori</option> 
    </select> 
</div> 

從controller.js

wikiControllers.controller('categoryController', ['$scope', 'categoryService', 
function($scope, categoryService){ 
    categoryService.getCategories().then(function(data){ 
    $scope.rootCategories = data[0]; 
    $scope.subCategories = data[1]; 
    $scope.titles = data[2]; 
    console.log($scope.titles); 
    }); 

}]);

回答

2

您可以在$scope上添加一個函數,該函數通過一個id檢索根類別的名稱,然後在group by中使用該函數。

例如:

$scope.getRootCategoryName = function (id) {  
    return $scope.rootCategories.filter(function (category) { 
    return category.Id === id; 
    })[0].Name; 
}; 

和:

data-ng-options="subCategories.subCategory group by getRootCategoryName(subCategories.relation) for subCategories in subCategories" 

演示:http://plnkr.co/edit/rors7R55Z5fLE8DY0ja1?p=preview

+0

謝謝!我正在尋找這樣的東西。 – Torby