【发布时间】:2015-12-07 13:48:48
【问题描述】:
我正在为我的 Angular 应用程序制作一般加载动画。
我有一个服务可以打开和关闭加载动画,并且事件正在按照我的预期发生,我的问题是 UI 没有随事件更新。
加载动画的开启和关闭发生在同一个函数调用中,所以我的猜测是在函数调用完成之前ui不会更新,这基本上意味着我的开启和关闭或加载动画没有效果。
我怎样才能写出这样的方式,即 UI 将随着变量的变化而更新。我添加了一个暂停来模拟负载的繁重计算只是为了检查......这是日期时间的东西。
这两个广播是加载状态的开始和停止。
function activateController(promises, controllerId) {
var startData = { controllerId: controllerId };
$broadcast(configcommonProvider.config.controllerActivateStartEvent, startData);
return $q.all(promises).then(function (eventArgs) {
var e = new Date().getTime() + (2 * 1000);
while (new Date().getTime() <= e) { }
var successData = { controllerId: controllerId };
$broadcast(configcommonProvider.config.controllerActivateSuccessEvent, successData);
});
}
【问题讨论】:
-
我最终只是手动操作 dom 而不是使用角度表达式进行加载行为。这不是最佳的,但可以完成工作。
标签: javascript angularjs promise