我有包含以下信息的 json 数据
[
{
"city":"Bangalore",
"dob":"04-Oct-2014",
"age":24,
"maritalStatus":"Single"
},
{
"city":"Bangalore",
"dob":"04-Oct-2014",
"age":24,
"maritalStatus":"Single"
},
{
"city":"Chennai",
"dob":"04-Oct-2014",
"age":24,
"maritalStatus":"Single"
}
]
此数据以列表格式显示
<ul class="userInfo">
<div ng-repeat="user in users " >
<li class="btn-default">
<div class="userDetails">
<div class="userPosition">{{user.city}}</div>
</div>
</li>
</div>
</ul>
HTTP 请求期间
userDirectory.controller("userListControl", function($scope,$rootScope, $http)
{
$http.get('data/userData.json').success (function(data){
$scope.users = data;
var usersDb = TAFFY();
usersDb.insert(data);
});
});
这里,数据来自 userData.json 文件。
我的问题是,
加载页面之前。我将声明 city =“bangalore”。
所以基于城市。我必须显示基于城市的数据。我想避免 json 中除 city:bangalore 之外的其他数据。
如何过滤特定城市数据。我不想使用过滤功能。我必须在这个阶段进行过滤
$scope.users = 数据; 因为我这里使用的是JS Db。然后只有我可以将这些数据存储在这里并在将来进行处理
最佳答案
我不确定你的具体情况,但你可以很好地做到
$http.get('data/userData.json').success (function(data){
var city='bangalore'; //can be set anywhere
$scope.users = data.filter(function(item){return item.city===city;});
var usersDb = TAFFY();
usersDb.insert($scope.users);
});
Array.filter适用于所有现代浏览器(即 9 及更高版本)
否则实现一个 Angular 过滤器,并通过 $filter
服务将其用于控制器:
关于javascript - 在 Angular js 中过滤来自 json 或服务器的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794571/