Angularjs 如何在动态添加新结果的情况下过滤结果?
我使用的是一个无限滚动程序包,它动态加载结果。我有一组过滤器,根据选择的过滤器显示我想要的结果 结果不会以任何过滤顺序返回前端。我想要实现的是让未过滤的结果返回到我可能已经选择的过滤状态 例如,一个过滤器是星级,假设我在过滤器中选择了三星和四星。如何获得新加载的结果以在该筛选器中返回 我想我可以将过滤器发送回后端,专门请求我正在寻找的内容,但我正在寻找角度解决方案 以下是ng repeat,它在每个酒店中迭代,我希望任何新加载的结果都要经过任何已选择的过滤器:Angularjs 如何在动态添加新结果的情况下过滤结果?,angularjs,Angularjs,我使用的是一个无限滚动程序包,它动态加载结果。我有一组过滤器,根据选择的过滤器显示我想要的结果 结果不会以任何过滤顺序返回前端。我想要实现的是让未过滤的结果返回到我可能已经选择的过滤状态 例如,一个过滤器是星级,假设我在过滤器中选择了三星和四星。如何获得新加载的结果以在该筛选器中返回 我想我可以将过滤器发送回后端,专门请求我正在寻找的内容,但我正在寻找角度解决方案 以下是ng repeat,它在每个酒店中迭代,我希望任何新加载的结果都要经过任何已选择的过滤器: <div ng-repeat
<div ng-repeat="hotel in (filteredHotels = (hotelResults | hotelRatingsFilter:ratings)) | startFrom:(currentPage - 1)*10 | limitTo:10 " class="hotel-results-container">
<ul>
<li>{{hotel.starRating}}</li>
</ul>
</div>
谢谢我发现这篇文章说,如果数据有任何更改,angular将迭代数组。看起来继续添加到数据数组是安全的,任何已经使用的过滤器都将被angular应用到更新的数据数组中 第六步说: 在阵列上添加一个手表,如果阵列发生任何变化,将再次触发步骤1
你能展示一下你的一些代码吗?我已经添加了ng重复代码,我不确定还有什么有用的。如果我能提供其他有用的东西,请询问:获取数据和设置的$http部分,也共享代码,这也会有帮助。您是否在单个请求中获取所有行?我理解正确吗?我在第一个请求中得到前10行,在下一个请求中得到下10行,等等。
.constant('HOTEL_SEARCH_CONSTANTS',{
httpSettings:
{
url:'/hotel/hotelsearch/search',
method:'POST'
}
})
.service('hotelSearchService', ['CachedObservable','$http','HOTEL_SEARCH_CONSTANTS','HOTEL_CONSTANTS','baseSearchSettings','loadingScreen',
function(CachedObservable,$http,HOTEL_SEARCH_CONSTANTS,HOTEL_CONSTANTS,baseSearchSettings,loadingScreen){
CachedObservable.call(this)
var _this = this,
p
this.search = function(searchParameters){
var config = HOTEL_SEARCH_CONSTANTS.httpSettings
var currentSearch = angular.extend(searchParameters,baseSearchSettings)
config.data = {
basicSearch: baseSearchSettings,
hotelSearch: searchParameters
}
_this.update(p=$http(config), angular.extend(angular.copy(searchParameters),baseSearchSettings) )
//Alert subscribers with both the promise and the search parameters
//used
loadingScreen.newSearch.update(p,HOTEL_CONSTANTS.loadingTemplates.loadingMessageTemplate)
//Trigger a loading screen and specify the template to use
}
}])