Javascript 数组类型的angularjs 1.x过滤器
我在数组中有很多像下面这样的对象,现在我想对其应用过滤器。如何应用我在图中提到的过滤器: 我可以使用简单的AngularJS过滤器吗 请帮助我应用这些过滤器的最佳方法。提前谢谢。我在这个JSON中有多个这样的酒店数据。但我并不是因为空间的原因而与之相撞Javascript 数组类型的angularjs 1.x过滤器,javascript,angularjs,Javascript,Angularjs,我在数组中有很多像下面这样的对象,现在我想对其应用过滤器。如何应用我在图中提到的过滤器: 我可以使用简单的AngularJS过滤器吗 请帮助我应用这些过滤器的最佳方法。提前谢谢。我在这个JSON中有多个这样的酒店数据。但我并不是因为空间的原因而与之相撞 [ { "_id": "57da6aeb4eafac04afd01bc5", "name": "subways", "city": "lahore", "area": "j
[
{
"_id": "57da6aeb4eafac04afd01bc5",
"name": "subways",
"city": "lahore",
"area": "johar town",
"min_order": "200 AED",
"del_time": "1 hour",
"del_fees": "1 AED",
"pre_order": "NA",
"rating_star": "4",
"rating_no": 514,
"status": "OPEN",
"__v": 0,
"categories": [
{
"_id": "57da72e94eafac04afd01bc9",
"restaurant_id": "57da6aeb4eafac04afd01bc5",
"name": "subways Burger",
"category_id": "1",
"__v": 0,
"items": [
{
"_id": "57da7973d0b5e2059c5ff10a",
"restaurant_id": "57da6aeb4eafac04afd01bc5",
"category_id": "57da72e94eafac04afd01bc9",
"logo": "abcLogo",
"name": "subway item 1",
"detail": "great item",
"price": "10",
"rating": "5",
"__v": 0
},
{
"_id": "57da79e8d0b5e2059c5ff10b",
"restaurant_id": "57da6aeb4eafac04afd01bc5",
"category_id": "57da72e94eafac04afd01bc9",
"logo": "abcLogo",
"name": "subway item 2",
"detail": "great item",
"price": "10",
"rating": "5",
"__v": 0
},
{
"_id": "57da79efd0b5e2059c5ff10c",
"restaurant_id": "57da6aeb4eafac04afd01bc5",
"category_id": "57da72e94eafac04afd01bc9",
"logo": "abcLogo",
"name": "subway item 3",
"detail": "great item",
"price": "10",
"rating": "5",
"__v": 0
},
{
"_id": "57da79fcd0b5e2059c5ff10d",
"restaurant_id": "57da6aeb4eafac04afd01bc5",
"category_id": "57da72e94eafac04afd01bc9",
"logo": "abcLogo",
"name": "subway item 4",
"detail": "great item",
"price": "10",
"rating": "5",
"__v": 0
}
]
}
]
处理此类操作的简单AngularJS过滤器如下所示:
angular.module(“myapp”,[])
.controller(“myctrl”,函数myctrl($scope){
$scope.cityIncludes=[];
$scope.includeCity=功能(城市){
控制台.日志(城市);
变量i=$scope.cityIncludes.indexOf(城市);
如果(i>-1){
$scope.cityIncludes.splice(i,1);
}否则{
$scope.cityIncludes.push(城市);
}
log($scope.cityIncludes);
}
$scope.cityFilter=函数(城市){
如果($scope.cityIncludes.length>0){
if($scope.cityIncludes.indexOf(city.city)<0)
返回;
}
回归城市;
}
$scope.rests=[{
“_id”:“57da6aeb4eafac04afd01bc5”,
“名称”:“拉合尔餐厅”,
“城市”:“拉合尔”,
“区域”:“johar镇”,
“最低订单”:“200 AED”,
“德鲁时间”:“1小时”,
“德鲁费用”:“1 AED”,
“预订单”:“不适用”,
“评级之星”:“4”,
“评级编号”:514,
“状态”:“打开”,
“_v”:0,
“类别”:[{
“_id”:“57da72e94eafac04afd01bc9”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“名称”:“地铁汉堡”,
“类别id”:“1”,
“_v”:0,
“项目”:[{
“_id”:“57da7973d0b5e2059c5ff10a”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目1”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79e8d0b5e2059c5ff10b”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目2”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79efd0b5e2059c5ff10c”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目3”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79fcd0b5e2059c5ff10d”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目4”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}]
}]
}, {
“_id”:“57da6aeb4eafac04afd01bc5”,
“名称”:“伊斯兰堡休息”,
“城市”:“伊斯兰堡”,
“区域”:“johar镇”,
“最低订单”:“200 AED”,
“德鲁时间”:“1小时”,
“德鲁费用”:“1 AED”,
“预订单”:“不适用”,
“评级之星”:“4”,
“评级编号”:514,
“状态”:“打开”,
“_v”:0,
“类别”:[{
“_id”:“57da72e94eafac04afd01bc9”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“名称”:“地铁汉堡”,
“类别id”:“1”,
“_v”:0,
“项目”:[{
“_id”:“57da7973d0b5e2059c5ff10a”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目1”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79e8d0b5e2059c5ff10b”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目2”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79efd0b5e2059c5ff10c”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目3”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79fcd0b5e2059c5ff10d”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目4”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}]
}]
}, {
“_id”:“57da6aeb4eafac04afd01bc5”,
“名称”:“abcd”,
“城市”:“拉瓦尔品第”,
“区域”:“johar镇”,
“最低订单”:“200 AED”,
“德鲁时间”:“1小时”,
“德鲁费用”:“1 AED”,
“预订单”:“不适用”,
“评级之星”:“4”,
“评级编号”:514,
“状态”:“打开”,
“_v”:0,
“类别”:[{
“_id”:“57da72e94eafac04afd01bc9”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“名称”:“地铁汉堡”,
“类别id”:“1”,
“_v”:0,
“项目”:[{
“_id”:“57da7973d0b5e2059c5ff10a”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目1”,
“细节”:“很棒的物品”,
“价格”:“10”,
“评级”:“5”,
“_v”:0
}, {
“_id”:“57da79e8d0b5e2059c5ff10b”,
“餐厅id”:“57da6aeb4eafac04afd01bc5”,
“类别id”:“57da72e94eafac04afd01bc9”,
“徽标”:“abcLogo”,
“名称”:“地铁项目2”,
<ul>
<li>
<input name="rest.cusine" type="radio" value="india" ng-click="filterCuisine('indian')">
<label for="open status">india</label>
</li>
<li>
<input name="rest.cusine" type="radio" value="india" ng-click="filterCuisine('pakistani')">
<label for="open status">pakistan</label>
</li>
<li>
<input name="rest.cusine" type="radio" value="arabic" ng-click="filterCuisine('arabic')">
<label for="open status">arabic</label>
</li>
</ul>
$scope.filterCuisine = function(cuisine){
$scope.checkFilterCuisine = cuisine;
console.log($scope.checkFilterCuisine);
}
$scope.selectCuisine = function(city){
console.log(city.cuisines);
if (city.cuisines.length > 0 && $scope.checkFilterCuisine != '') {
if (city.cuisines.indexOf($scope.checkFilterCuisine) < 0){
return;
}
}
return city;
}