[英]Use promise with angularjs user filter
我有一个用户过滤器。 您可以在下面看到模拟示例(它返回获取的相同数据,即users_data_contents,实际上是函数调用):
var appModule = angular.module('appModule', [])
.filter('filter_ghosts', function($rootScope){
return function(users_data_contents){ // gets data from view
return users_data_contents;
};
});
我需要在异步模式下使用它,但不太了解如何使用。 我尝试过这样的事情:
var appModule = angular.module('appModule', [])
.filter('filter_ghosts', function($rootScope){
function getPromised(){
var cnt = 0, intrv = setInterval(function() {
++cnt;
if (cnt>10) {
return function(users_data_contents){
clearInterval(intrv);
return users_data_contents;
}
}
if (cnt > 50) {
clearInterval(intrv);
}
}, 100);
}
getPromised.$stateful = true;
return getPromised;
});
但这是行不通的。 应用过滤器的html如下所示:
<tr ng-repeat="user_data in usersList | filter_ghosts">
....
我的问题最接近的解决方案是: AngularJS:异步初始化过滤器但是,事实证明,更合适的方法是根本不使用过滤器,而是将转发器绑定到在相应过程中更改的数组。
在作用域中创建一个空数组。 然后将带有过滤器的ng-repeat
绑定到该数组。 然后,在异步操作完成后,用值填充该数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.