ng-repeat中的Angular Js对象过滤器
Angular Js Object Filter in ng-repeat
如何根据对象值(如 1、2 或 3)进行过滤
我正在尝试过滤我的 JSON 它看起来类似于名称对象
这是我的代码,我试图应用过滤器,但它不起作用
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="namesCtrl">
<ul>
<li ng-repeat="x in names ">
{{ x.name }}
</li>
</ul>
</div>
<script>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
$scope.names = {
"1": {
"name": "some"
},
"2": {
"name": "values"
},
"3": {
"name": "are"
},
"4": {
"name": "there"
},
"5": {
"name": "here"
}
}
});
</script>
</body>
</html>
filter and orderBy 不处理对象属性,只处理数组。话虽如此,我想我找到了一个您会喜欢的解决方案:
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="namesCtrl">
<input type="text" ng-model="searchText"/>
<ul ng-init="nameArray=objArray(names)">
<li ng-repeat="x in nameArray | filter:searchText">
{{x.value.name}}
</li>
</ul>
</div>
<script>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
$scope.searchText='';
$scope.names = {
"1": {
"name": "some"
},
"2": {
"name": "values"
},
"3": {
"name": "are"
},
"4": {
"name": "there"
},
"5": {
"name": "here"
}
};
$scope.objArray=function (obj) {
var result=[];
for (var key in obj) {
result.push({
key: key,
value: obj[key]
});
}
return result;
}
});
</script>
</body>
</html>
我认为您无法过滤属性名称。我假设这些属性名称是您要过滤的某种 ID。然后,您的数据结构应该反映这一点,如下所示:
$scope.names = [
{ id: "1", name: "some" },
{ id: "2", name: "values" },
{ id: "3", name: "are" },
{ id: "4", name: "there" },
{ id: "5", name: "here" }
]
然后你可以像这样过滤:
<ul>
<li ng-repeat="x in names | filter: { id: searchId } >
{{ x.name }}
</li>
</ul>
将searchId
替换为包含要查找的 ID 的特定范围变量。
相关文章:
- 在Angular.JS-ng隐藏vs过滤器中将对象分隔为两组
- jQuery过滤器,返回不同的jQuery对象(即$(this).Pparent())
- 键上的javascript数组对象过滤器
- 如何对对象的多个属性使用角度过滤器
- 如何将Underscore.js过滤器与对象一起使用
- 如何遍历对象数组并将值放入过滤器中
- 对象中的角度过滤器空数组
- 通过过滤器数组设置对象数组的属性
- 使用 NG 重复上的对象作为过滤器
- 主干集合过滤器与位置和获取对象数组
- ng-repeat中的Angular Js对象过滤器
- AngularJS,过滤器:如何将一个巨大的对象(JSON)变成一个数组
- 对象中嵌套数组上的角度ng重复过滤器
- 使用类似查询的对象过滤器数组下划线
- 如何在 JavaScript 中向 SVG 对象添加过滤器
- 聚合物获取过滤器返回的对象的属性
- 如何在jquery中对对象动态添加多个过滤器
- AngularJS 过滤器:将具有唯一 ID 的对象过滤到单独的对象中
- 对象数组的角度 JSON 过滤器
- JavaScript 对象过滤器 - 不返回关联键