Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 按前一个ng repeat的对象筛选的ng repeat_Angularjs_Angularjs Directive_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 按前一个ng repeat的对象筛选的ng repeat

Angularjs 按前一个ng repeat的对象筛选的ng repeat,angularjs,angularjs-directive,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我有这个结构,但我不知道如何过滤带有上一次ng repeat迭代对象的ng repeat内容 //############################################################################// 我的型号: var app = angular.module('myApp', [angular.filter]); app.controller('controller', function($scope){ $scope.dashboa

我有这个结构,但我不知道如何过滤带有上一次ng repeat迭代对象的ng repeat内容

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

我的型号

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"}];
});
<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>
//############################################################################//

我的html

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"}];
});
<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>

{{dashboard.category}
{{dashboard.subcategory}
{{dashboard.name}

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

例如,我尝试使用表达式过滤级别2的级别1类别,使用其他表达式过滤级别3的级别2子类别


*在级别1和2中,我使用一个过滤器返回唯一值​​在我的模型中,HTML存在一些相当简单的问题

首先,表达式(
{{}
)不允许在
ng repeat
中使用;解析器将在不使用表达式语法的情况下计算出属性


{{dashboard.category}
{{dashboard.subcategory}
{{dashboard.name}


我认为你需要更好地解释你想做什么。你当然可以使用更高范围的变量,但我不清楚你想要什么。我编辑这个问题是为了更好地解释。非常感谢你的帮助