2016-11-08 98 views
0

我正在接收Angular API中的數據,並試圖過濾min_price小於例如50 $的酒店的結果!過濾API結果與angularjs

$http.get($rootScope.baseurl + 'api/hotels/', { 
     params: { 
      page_size: $scope.page_size, 
      page: $scope.page, 
      goingTo: goingTo, 
      ordering: $scope.sortBy, 
      star: $scope.filter.star, 
      min_price: ???? 
     }}).then(
     function(data, status, headers, config) { 
      $scope.Hotels = data.data.results; 
      $scope.count = data.data.count; 
      $scope.loading = false; 
      PageService.setContentReady(); 
     }, 
     function(data, status, headers, config) { 
      $scope.loading = false; 
      PageService.contentStatus = 'ready'; 
     } 
    ); 

如何顯示50美元以下的酒店?

+0

你可以分享樣本響應。 –

+0

請分享回覆JSON –

+0

在json的酒店有「min_price」:50(例如) –

回答

1

下面找到您更新的代碼

$http.get($rootScope.baseurl + 'api/hotels/', { 
    params: { 
     page_size: $scope.page_size, 
     page: $scope.page, 
     goingTo: goingTo, 
     ordering: $scope.sortBy, 
     star: $scope.filter.star, 
     min_price: 50 
    } 
}).then(
    function(data, status, headers, config) { 
     $scope.Hotels = data.data.results; 
     $scope.Hotels = $scope.Hotels.filter(function(hotel){ return hotel.min_price < 50}); //filter hotels 
     $scope.count = data.data.count; 
     $scope.loading = false; 
     PageService.setContentReady(); 
    }, 
    function(data, status, headers, config) { 
     $scope.loading = false; 
     PageService.contentStatus = 'ready'; 
    } 
); 
+0

真棒,它正在工作(但沒有此行:min_price:50) –

+0

請問有什麼想法可以使它動態變化min_price值與用戶選擇選項? –

+0

@ Mohammad.Gh只需添加select的ng模型值? – Weedoze

2

嘗試添加該到你的語句結尾:

// Assuming you're doing some kind of promise resolution; 
let deferred = $q.defer(); 

.success((data) => { 
    deferred.resolve(data); 
}); 

得到的數據,從這裏就可以,然後過濾:

// assume 'data' is your real resolved data; 
let filteredData = data.filter((hotel) => hotel.min_price < 50); 

這ES6語法,但你得到的要點。