我有一组像这样定义的复选框:
app.UseOpenIdConnectAuthentication
在JS方面:
span(ng-repeat='angle in anglesList')
input(type='checkbox', ng-model='angle.selected')
| {{angle.angle}}
br
hr
对我的重复项目进行过滤:
$scope.anglesList = [
{
angle: "Angle 1",
selected: true
}, {
angle: "Angle 2",
selected: true
}, {
angle: "Angle 3",
selected: true
}, {
angle: "Angle 4",
selected: true
}
];
首次加载时,因为angleList数组中的所有angleList项都设置为selected:true,所以它们都加载为checked。当我取消选中它们时,项目会消失,具体取决于该项目是否具有该角度。这是不方便的,因为如果我只想看到具有角度4的项目,我必须手动取消选中角度1,角度2和角度3.我想要发生的是所有复选框最初都要取消选中,但是仍有物品出现。然后,选中一个复选框时,将项目过滤到该角度。不知道该怎么做。谢谢!
编辑:
以下是我过滤的项目的重复次数:
.filter("angleFilter", function($filter) {
return function(items, search) {
var resultsAngle = [];
if (!search) {
return items;
} else {
for (var i = 0; i < items.length; i++) {
for (var k = 0; k < items[i].angles.length; k++) {
for (var j = 0; j < search.length; j++) {
if (items[i].angles[k] === search[j].angle && search[j].selected === true) {
var e = $filter('filter')(resultsAngle, {_id:items[i]._id});
if (e.length > 0) {
} else {
resultsAngle.push(items[i]);
}
}
}
}
}
return resultsAngle;
}
}
})