控制器中的筛选列表没有'不起作用
Filtering list in controller doesn't work
我在AngularJs上有应用程序。我在作用域中有一个变量,它是用API中的数据初始化的。$scope.receivedRequests = CurrentUserData.incomeRequests();
导致对API的请求需要一些时间,$scope.receivedRequests
在开始时为空。
$scope.receivedRequests
我已与ng-repeat
一起使用
<div class="full-row" ng-repeat="row in receivedRequests | filterByStatus:[State.PENDING] | partition:3 track by $index">
这些数据也会被过滤。但当我试图将这种过滤替换为控制器时,比如
$scope.filterByStatus = function (statuses) {
return $filter('filterByStatus')($scope.receivedRequests, statuses);
};
$scope.pendingRequests = $scope.filterByStatus([State.PENDING]);
CCD_ 5总是空的。
如何过滤控制器中的数据?
.filter('filterByStatus', function () {
return function(arr, statuses) {
if (!arr) { return; }
return arr.filter(function(value) {
return statuses.some(function(val) {
return value.status == val;
});
});
};
});
$scope.receivedRequests
只是元素的数组,具有字符串属性status
(也包括id
、date
等),例如:status : "Pending"
在这种情况下,我会使用promise并像这样分割代码。
工厂服务
app.factory('myService', function($http){
return {
getRequests: function(){
return $http.get('http://someurl');
}
}
})
控制器
app.controller('myController', function(myService){
$scope.filteredArray = [];
myService.getRequests()
.then( function(data){
$scope.filteredArray = $scope.filterFunction(data);
})
$scope.filterFunction = function(array){
//function logic
//...
}
})
注意:
- 这里的技巧是通过调用then()函数内部的过滤函数来完成的。通过这种方式,您可以确保API中的数据已经被提取,然后您可以对其进行过滤
我不确定你的$scope.receivedRequests对象看起来怎么样,你能试试下面的。。。为什么不将State.pending
值与数组的相关key
一起发送呢。
$scope.filterByStatus = function (statuses) {
return $filter('filterByStatus')($scope.receivedRequests, statuses);
};
$scope.pendingRequests = $scope.filterByStatus({key: State.PENDING})[0];
相关文章:
- 在筛选网格期间,网格负载掩码不起作用
- jQuery dataTables基于类型的列筛选不起作用?Img alt过滤器/排序
- 刷新页面后筛选器不起作用
- JQuery多属性筛选器不起作用
- 筛选器's的第二个参数不起作用
- 控制器中的筛选列表没有'不起作用
- 个别列筛选器在Datatable中不起作用
- Videogular-hh:mm:ss格式的日期筛选器不起作用
- Onresize函数在价格筛选滑块中不起作用
- 剑道 UI 网格筛选器在之前打开弹出窗口时不起作用
- 基于从下拉列表中选择的值的筛选列表不起作用
- 搜索筛选器不起作用.角度Js
- Knockout+DataTables筛选;不起作用
- Backgrid筛选器在主干应用程序中不起作用
- 包含下拉选择(在正文中,而不是标题或筛选器中)的表分类器在IE中不起作用
- 使用complexQuery的Dojo DataGrid筛选不起作用
- 筛选表行不起作用
- wsapi存储的筛选器函数在Rally SDK中不起作用
- ng表编号范围筛选器不起作用
- 筛选复选框以显示其类;不起作用