2014-02-18 2 views
2

그래서 2 개의 객체 배열별로 그룹화 할 선택 창이 있습니다. 하위 카테고리 및 루트 카테고리 객체가 있습니다. 하위 카테고리에는 rootcategory의 ID에 연결하는 데 사용되는 관계 ID가 있습니다. 내가 원하는 것은 루트 카테고리 이름으로 하위 카테고리를 그룹화하는 드롭 다운 창입니다. 지금 당장은 다른 관계 ID별로 그룹화했습니다. 루트 카테고리를 전혀 사용하지 않습니다. 어떤 충고?angularJS에서 group by을 사용하는 데 문제가 있습니다.

html 페이지에서. controller.js 가입일

<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> 

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를 사용하여 루트 카테고리의 이름을 검색 한 다음 해당 그룹의 해당 함수를 사용하여 함수를 추가 할 수 있습니다. 예를 들어

:

$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

관련 문제