Javascript 如何筛选空字符串值上的ng重复列表?
如何筛选ng重复以显示某个columnfield为空字符串的所有项目?当我尝试这个时,它似乎总是给出完整的列表。我只想见id为1的人 控制器:Javascript 如何筛选空字符串值上的ng重复列表?,javascript,angularjs,angularjs-ng-repeat,angular-filters,Javascript,Angularjs,Angularjs Ng Repeat,Angular Filters,如何筛选ng重复以显示某个columnfield为空字符串的所有项目?当我尝试这个时,它似乎总是给出完整的列表。我只想见id为1的人 控制器: var people = [{ name: '', age: 32, id: 1 }, { name: 'Jonny', age: 34,
var people = [{
name: '',
age: 32,
id: 1
}, {
name: 'Jonny',
age: 34,
id: 2
}, {
name: 'Blake',
age: 28,
id: 3
}, {
name: 'David',
age: 35,
id: 4
}];
$scope.filteredPeople = $filter('filter')(people, {
name: ''
});
$scope.people = people.slice(0);
视图:
<li ng-repeat="p in filteredPeople">
<h4>{{p.name}} ({{p.age}}) id: {{p.id}}</h4>
</li>
{{p.name}({p.age})id:{{p.id}
要列出具有以下名称的用户:
<li ng-repeat="p in filteredPeople" ng-if="p.name !== ''">
<h4>{{p.name}} ({{p.age}}) id: {{p.id}}</h4>
</li>
<li ng-repeat="p in filteredPeople" ng-if="p.name === ''">
<h4>{{p.name}} ({{p.age}}) id: {{p.id}}</h4>
</li>
{{p.name}({p.age})id:{{p.id}
要仅列出没有名称的用户,请执行以下操作:
<li ng-repeat="p in filteredPeople" ng-if="p.name !== ''">
<h4>{{p.name}} ({{p.age}}) id: {{p.id}}</h4>
</li>
<li ng-repeat="p in filteredPeople" ng-if="p.name === ''">
<h4>{{p.name}} ({{p.age}}) id: {{p.id}}</h4>
</li>
{{p.name}({p.age})id:{{p.id}
只需将第三个参数传递给过滤器,即true
,它将执行严格的检查
$scope.filteredPeople = $filter('filter')(people, {
name: ''
}, true);
您可以在
'ng-repeat'
中使用Angular的'filter'
:
// In template:
<li ng-repeat="p in filteredPeople | filter : filterPeople">
<h4>{{p.name}} ({{p.age}}) id: {{p.id}}</h4>
</li>
// In controller:
$scope.filterPeople = function(item) {
return !item.name;
};
//在模板中:
{{p.name}({p.age})id:{{p.id}
//在控制器中:
$scope.filterPeople=函数(项){
return!item.name;
};
@Jim Peeters这有帮助吗??