Javascript ng中的多个过滤器重复,其中一个过滤器需要精确匹配
我已经在Javascript ng中的多个过滤器重复,其中一个过滤器需要精确匹配,javascript,angularjs,filter,Javascript,Angularjs,Filter,我已经在ng repeat中编写了这个过滤器,它工作正常 <tr ng-repeat="item in data | filter:{ Name:search, Country:country, MembershipType:membership} | filter: {Gender: gender}: true> 其他函数可以正常工作,但此函数不返回性别的精确匹配 我应该在函数中执行什么操作?您可以使用第二个参数来使用精确匹配。就像在html中一样,您可以使用过滤器两次: $sc
ng repeat
中编写了这个过滤器,它工作正常
<tr ng-repeat="item in data | filter:{ Name:search, Country:country, MembershipType:membership} | filter: {Gender: gender}: true>
其他函数可以正常工作,但此函数不返回性别的精确匹配
我应该在函数中执行什么操作?您可以使用第二个参数来使用精确匹配。就像在html中一样,您可以使用过滤器两次:
$scope.getData = function () {
var filter = $filter('filter');
// First filter the non-exact
var filtered = filter($scope.data, {
Name: $scope.search,
Country: $scope.country,
MembershipType: $scope.membership
});
// then the exact filters
var genderFiltered = filter(filtered, {
Gender: $scope.gender
}, true);
return genderFiltered;
}
Am也尝试了与@devqon答案相同的方法。但是不能在这里发布重复的答案,所以我只是像下面那样更改我的代码 您的ng rpeate具有两个筛选器,可以对数据进行两次筛选。所以,您应该编写类似过滤器的代码
尝试此
return$filter('filter')($scope.data,{Name:$scope.search,Country:$scope.Country,MembershipType:$scope.membership,Gender:$scope.Gender},true)
hadijz,此返回是唯一与性别完全匹配的吗?这次对OMG不起作用。我也试着在这里发布同样的消息:(.+1)
$scope.getData = function () {
var filter = $filter('filter');
// First filter the non-exact
var filtered = filter($scope.data, {
Name: $scope.search,
Country: $scope.country,
MembershipType: $scope.membership
});
// then the exact filters
var genderFiltered = filter(filtered, {
Gender: $scope.gender
}, true);
return genderFiltered;
}
$scope.getData = function () {
return $filter('filter')(($filter('filter')($scope.data, { Name: $scope.search,
Country: $scope.country, MembershipType: $scope.membership }), {
Gender: $scope.gender
}, true);
}