cg-忙于连续的承诺
cg-busy on consecutive promises
我有一个工厂,它使用服务($http 调用)存储和定期更新一些数据。每次更新数据时,我都希望在视图中显示忙碌指示器。工厂公开数据对象和承诺。
angular.module('myUI')
.factory('statusFactory', function ($timeout, statusService) {
var promise = {};
var data = {};
function update(){
angular.extend(promise, statusService.status().$promise).then(function(response){
angular.extend(data, response);
});
$timeout(update, 10000);
}
update();
return{
data: data,
promise: promise
}
});
在控制器中,我将这些变量绑定到范围:
$scope.statusPromise = statusFactory.promise;
$scope.data = statusFactory.data;
最后在视图中显示数据
<div cg-busy="statusPromise">
{{data.var1}}
{{data.var2}}
...
</div>
现在数据正在完美更新,但 cg-busy 什么也没做。每次解析 $http 调用时,我都希望看到忙碌图标。当我直接在控制器中使用 statusService 时它会起作用。
有更好的方法吗?我如何公开工厂的一些持久承诺,以便它在每次新调用时更新视图?
我会尝试这样的事情:
angular.module('myUI')
.factory('statusFactory', function ($timeout, statusService) {
var promise = {};
var data = {};
var busyIndicator = {busy: false};
function update(){
busyIndicator.busy = true;
angular.extend(promise, statusService.status().$promise).then(function(response){
angular.extend(data, response);
busyIndicator.busy = false;
});
$timeout(update, 10000);
}
update();
return{
data: data,
promise: promise
}
});
绑定到$scope
:
$scope.busyIndicator= statusFactory.busyIndicator;
然后将其绑定到 cg-busy
(我假设它需要 true
或 false
):
<div cg-busy="busyIndicator.busy">
{{data.var1}}
{{data.var2}}
...
</div>
busy
需要在 busyIndicator
对象内部使用,以在工厂和视图之间共享引用。此外,使用硬编码的 true
值检查 cg-busy
是否正常工作。
我有一个工厂,它使用服务($http 调用)存储和定期更新一些数据。每次更新数据时,我都希望在视图中显示忙碌指示器。工厂公开数据对象和承诺。
angular.module('myUI')
.factory('statusFactory', function ($timeout, statusService) {
var promise = {};
var data = {};
function update(){
angular.extend(promise, statusService.status().$promise).then(function(response){
angular.extend(data, response);
});
$timeout(update, 10000);
}
update();
return{
data: data,
promise: promise
}
});
在控制器中,我将这些变量绑定到范围:
$scope.statusPromise = statusFactory.promise;
$scope.data = statusFactory.data;
最后在视图中显示数据
<div cg-busy="statusPromise">
{{data.var1}}
{{data.var2}}
...
</div>
现在数据正在完美更新,但 cg-busy 什么也没做。每次解析 $http 调用时,我都希望看到忙碌图标。当我直接在控制器中使用 statusService 时它会起作用。
有更好的方法吗?我如何公开工厂的一些持久承诺,以便它在每次新调用时更新视图?
我会尝试这样的事情:
angular.module('myUI')
.factory('statusFactory', function ($timeout, statusService) {
var promise = {};
var data = {};
var busyIndicator = {busy: false};
function update(){
busyIndicator.busy = true;
angular.extend(promise, statusService.status().$promise).then(function(response){
angular.extend(data, response);
busyIndicator.busy = false;
});
$timeout(update, 10000);
}
update();
return{
data: data,
promise: promise
}
});
绑定到$scope
:
$scope.busyIndicator= statusFactory.busyIndicator;
然后将其绑定到 cg-busy
(我假设它需要 true
或 false
):
<div cg-busy="busyIndicator.busy">
{{data.var1}}
{{data.var2}}
...
</div>
busy
需要在 busyIndicator
对象内部使用,以在工厂和视图之间共享引用。此外,使用硬编码的 true
值检查 cg-busy
是否正常工作。