在AngularJS中,可以使用过滤器来对一个字段的两个值进行过滤。下面是一个示例代码:
HTML:
-
{{ user.name }}
JavaScript:
var app = angular.module('myApp', []);
app.controller('myController', function($scope) {
$scope.users = [
{ name: 'John', age: 25 },
{ name: 'Jane', age: 30 },
{ name: 'Bob', age: 35 },
{ name: 'Alice', age: 40 }
];
$scope.customFilter = function(user) {
return user.name.toLowerCase().includes($scope.searchText.toLowerCase()) && (user.age >= 30 && user.age <= 40);
};
});
在上面的示例中,我们有一个用户列表,每个用户对象都有一个名称和年龄属性。我们使用ng-repeat
指令来遍历用户列表,并使用filter
过滤器来过滤用户列表。ng-model
指令用于绑定搜索文本框的值到$scope.searchText
变量。
在myController
控制器中,我们定义了一个customFilter
函数,该函数被filter
过滤器调用以过滤用户列表。在这个自定义过滤器中,我们使用includes
方法来检查用户的名称是否包含搜索文本,并使用逻辑与运算符来检查用户的年龄是否在30到40之间。
这样,用户列表将只显示名称包含搜索文本并且年龄在30到40之间的用户。