2017-04-20 147 views
0

我有这种结构的对象过滤,但我不知道我怎么可以过滤NG-重复内容与以前NG-重复迭代的对象。NG重复先前NG重复

// ############################################ ################################ //

模式

var app = angular.module('myApp', [angular.filter]); 

app.controller('controller', function($scope){ 

$scope.dashboards =[{"name":"Dashboard 1","category":"C1","subcategory":"SC1"}, 
        {"name":"Dashboard 2","category":"C1","subcategory":"SC2"}, 
        {"name":"Dashboard 3","category":"C2","subcategory":"SC1"}, 
        {"name":"Dashboard 4","category":"C2","subcategory":"SC2"}, 
        {"name":"Dashboard 5","category":"C2","subcategory":"SC3"}]; 
}); 

// ################################################ ############################ //

HTML

<div ng-app="myApp"> 
<div ng-controller="controller"> 

<div ng-repeat="dashboard in dashboards | unique: 'category'"><!--Level 1--> 
    <h2>{{dashboard.category}}</h2> 
    <div ng-repeat="dashboard in dashboards | filter: { category: {{dashboard.category}} } | unique: 'subcategory'"><!--Level 2--> 
     </h3>{{dashboard.subcategory}}</h3> 
     <div ng-repeat="dashboard in dashboards | filter: { subcategory: {{dashboard.subcategory}} }"><!--Level 3--> 
     <p>{{dashboard.name}}</p> 
     </div> 
    </div> 
</div> 

</div> 
</div> 

我的问题是,我不知道如何使用较低级别的内容过滤NG重复。

例如我试图使用为一个函数与第1级的类别来筛选2级,并用2电平的子类别过滤级别3使用其他expresion

*在1级和2我使用的过滤器返回我我的模型的唯一值

+0

我认为你需要更好地解释你正在尝试做的。你当然可以使用更高范围的变量,但是我不清楚你想要什么。 – DrC

+0

我编辑的问题,为了更好地解释 –

回答

1

没有与HTML是相当简单的几个问题。

首先,表达式({{ }})不允许在ng-repeat;解析器将找出没有表达式语法的属性。

<div ng-repeat="dashboard in dashboards | unique: 'category'"> 
 
    <!--Level 1--> 
 
    <h2>{{dashboard.category}}</h2> 
 
    <div ng-repeat="dashboard in dashboards | filter: { category: dashboard.category } | unique: 'subcategory'"> 
 
    <!--Level 2--> 
 
    <h3>{{dashboard.subcategory}}</h3> 
 
    <div ng-repeat="dashboard in dashboards | filter: { subcategory: dashboard.subcategory }"> 
 
     <!--Level 3--> 
 
     <p>{{dashboard.name}}</p> 
 
    </div> 
 
    </div>

http://plnkr.co/edit/dniUyHdIWGFOWYJyKjjf?p=preview

这并不是故事的全部,但是。由两者categorysubcategory待过滤的3级div需求。

<div ng-repeat="dashboard in dashboards | unique: 'category'"> 
 
    <!--Level 1--> 
 
    <h2>{{dashboard.category}}</h2> 
 
    <div ng-repeat="dashboard in dashboards | filter: { category: dashboard.category } | unique: 'subcategory'"> 
 
    <!--Level 2--> 
 
    <h3>{{dashboard.subcategory}}</h3> 
 
    <div ng-repeat="dashboard in dashboards | filter: { category: dashboard.category, subcategory: dashboard.subcategory }"> 
 
     <!--Level 3--> 
 
     <p>{{dashboard.name}}</p> 
 
    </div> 
 
    </div> 
 
</div>

http://plnkr.co/edit/6ClArqDH3OiQ7ECT95YD?p=preview

+0

非常感谢你的帮助 –