Angularjs 按前一个ng repeat的对象筛选的ng repeat
我有这个结构,但我不知道如何过滤带有上一次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
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}
我认为你需要更好地解释你想做什么。你当然可以使用更高范围的变量,但我不清楚你想要什么。我编辑这个问题是为了更好地解释。非常感谢你的帮助