AngularJS-如何仅对1个字段进行筛选并与查询参数精确匹配

AngularJS-如何仅对1个字段进行筛选并与查询参数精确匹配,angularjs,filter,Angularjs,Filter,默认情况下,AngularJS中的“过滤器”针对对象或数组的所有字段或属性进行过滤,但我希望它只通过比较对象的1个属性中的字符串值来过滤数据集 例如: <div ng-repeat="subCategory in subCategorys | filter:id | orderBy:'id'"></div> 其中,子类别是具有“编号”、“名称”、“详细信息”等字段的数据集。。。等 我希望过滤器只在“number”属性下查找用于查询的参数 例如,在子类别数据集中的“

默认情况下,AngularJS中的“过滤器”针对对象或数组的所有字段或属性进行过滤,但我希望它只通过比较对象的1个属性中的字符串值来过滤数据集

例如:

<div ng-repeat="subCategory in subCategorys | filter:id | orderBy:'id'"></div> 

其中,子类别是具有“编号”、“名称”、“详细信息”等字段的数据集。。。等 我希望过滤器只在“number”属性下查找用于查询的参数

例如,在子类别数据集中的“number”属性中精确查找数字10。不适用于“编号”字段中的010,或“名称”或任何其他字段中的sdkjj_10_kjd

谢谢

您只需添加第三个参数比较器并将其设置为true value
filter:{id:search\u id}:true

HTML:

<input type="number" ng-model="search_id" placeholder="search for id">
<div ng-repeat="subCategory in subCategorys | filter:{id:search_id}:true | orderBy:'id'">{{subCategory.id}}</div> 

谢谢:)但如果对象是一个数组,我必须查看该数组中是否存在参数值,该怎么办。例如,请参见“subCategory.tags”下的示例@我必须在哪里查找“卡通”。谢谢。它起作用了:)但我的值作为路由参数来自另一个视图。因此,我必须在控制器函数中执行以下操作<代码>$scope.tag=$routeParams.tagID所以我的过滤器看起来像:
过滤器:{tags:tag}:true
但是这次它不起作用:(@TempOrary请看这里我在控制器和evrything内部设置了标记,如果没有问题,请仔细检查$routeParams.tagID;是的,我确信这是有效的。我已经尝试过了。但是问题出现了,当你想要URL参数的值并将此参数传递给过滤器时。当我尝试此操作时,它不起作用。就像筛选器未获取此值。然而,我可以使用binding在HTML页面上显示此值。PS:我使用angular-route.js进行路由以获取
$routeParams.tag
@临时请参见此处,因为routerparam返回字符串所有需要的都是将其转换为int$scope.tag=parseInt($routeParams.tagID)多亏了@sylvester,我现在知道如何在特定字段中过滤特定值。但是,当过滤器的参数值来自路由参数时,这不起作用。我有一个好消息和一个坏消息。好消息:我发现如果过滤器应用于数值,那么这不起作用。坏消息:我不知道如何使它工作k、 :(你能帮忙吗?
var app = angular.module('app', []);

app.controller('firstCtrl', function($scope){

 $scope.subCategorys = [
   {id:1,name:"tom"},
   {id:21,name:"jim"},
   {id:221,name:"pam"}
 ];
});