我正在使用 MEAN 堆栈,我在数组中有一个用户的条目数,例如:
{ bankDetails: [],
academics: [ [Object], [Object] ],
trainings: [ [Object] ],
username: 'sfdf@gmail.afsadfcom',
accessLevel: 'worker',
__v: 0},`
{ bankDetails: [],
academics: [ [Object], [Object] ],
trainings: [ [Object] ],
username: 'acbckd@gmail.afsadfcom',
accessLevel: 'admin',
__v: 0} and many objects like these.
我从服务器获得并存储在vm.empDetails中:
$http.get('/employee').then(function(res) {
console.log(res.data);
vm.empDetails = res.data;
}, function(err) {
console.log(err);
});
现在我在 HTML 文件中所做的是:
<tr ng-repeat="res in vm.empDetails track by $index">
<td>{{res.firstName}} {{res.lastName}}</td>
<td>{{res.jobTitle}}</td>
<td><md-button ng-click="vm.manageProfile(res._id)">Manage</md-button></td></tr>
我正在获取存储在员工集合中的所有数据,并且可以显示它们。我所要做的就是仅显示其access_level="worker"并希望隐藏用户access_level="admin"的条目。我该怎么做??任何建议和意见都非常感谢。
<tr ng-repeat="res in vm.empDetails track by $index" ng-show="res.access_level === 'worker'">
// something
</tr>
<tr ng-repeat="res in vm.empDetails track by $index | filter:customFilter">
您可以使用customFilter
筛选出access_level
为管理员的项目
app.filter('customFilter', function() {
return function( items ) {
var filtered = [];
angular.forEach(items, function(item) {
if(item.hasOwnProperty("access_level") && !item.access_level === "admin")
filtered.push(item);
});
return filtered;
};
});
您可以使用过滤器:
<tr ng-repeat="res in vm.empDetails track by $index | filter: {accessLevel: 'worker'})">
<td>{{res.firstName}} {{res.lastName}}</td>
<td>{{res.jobTitle}}</td>
<td><md-button ng-click="vm.manageProfile(res._id)">Manage</md-button></td></tr>