【发布时间】:2014-05-16 02:30:20
【问题描述】:
我想使用 $filter('filter') 过滤员工对象数组,以仅根据可以从下拉/选择中选择的员工名字字段过滤结果。注意我不想在 ng-repeat 中使用“| filter:”。
困难在于name字段是另一个名为'details'的字段的属性,所以我不能像下面的代码那样使用details.name,因为它会出错。
$scope.filteredEmployees = $filter('filter')(employees, {details.name: selectedName });
有关员工数组对象的结构,请参见下文。
如何告诉它使用 $filter('filter') 根据 details.name 字段过滤记录?
提前感谢您的帮助!
代码如下:
Var selectedName = “An”;
$scope.filteredEmployees = $filter('filter')(employees, {**details.name:** selectedName });
Var employees = [
{
Date: 01/01/2012
details: {
name: ‘An’,
age: 25
}
},
{
Date: 01/01/2012
details: {
name: ‘'Bill',
age: 20
}
}];
//Here is
<select ng-model="selectedName" ng-options="e for e in employees" data-ng-show="employees.length > 0" ng-change="filterEmployees">
<option value="">All Employees</option>
</select><br>
function filterEmployees() {
$scope.filteredEmployees = $filter('filter')(employees, "Joe");
};
【问题讨论】:
标签: angularjs angularjs-filter