【发布时间】:2014-08-18 12:56:22
【问题描述】:
我想在我的应用程序第一次加载时显示一个微调器,例如:https://devart.withgoogle.com/
我曾尝试通过服务模块执行此操作,如下所示:
angular.module('InitialLoad', [])
.config(function ($httpProvider) {
$httpProvider.responseInterceptors.push('myHttpInterceptor');
var spinnerFunction = function (data, headersGetter) {
$('#loading').fadeIn();
return data;
};
$httpProvider.defaults.transformRequest.push(spinnerFunction);
})
.factory('myHttpInterceptor', function ($q, $window) {
return function (promise) {
return promise.then(function (response) {
$('#loading').fadeOut(function(){
$(this).remove();
});
return response;
}, function (response) {
$('#loading').fadeOut(function(){
$(this).remove();
});
return $q.reject(response);
});
};
});
但是这有很多问题...首先是它不会侦听它侦听每个请求的第一个负载。它也没有像在 DevArt 上那样优雅地显示和隐藏加载,我使用 jQuery 来隐藏和显示加载微调器,而不是使用 Angular Animate。
有人可以帮忙吗?澄清这是针对初始应用程序加载的!而不是为了在后续请求中显示微调器。我为此使用了这个:https://github.com/chieffancypants/angular-loading-bar,但我想为应用程序启动显示一个不同的启动画面。
【问题讨论】:
-
使用控制器,它们很适合与 UI 交互
-
好吧,我已经用这个:github.com/chieffancypants/angular-loading-bar 处理多个 AJAX 请求...但我想为 初始加载显示一个启动画面。因此上面的代码。
标签: javascript angularjs