Dyn*_*lon 12 javascript ajax pageload deferred angularjs
我的configServiceAngularJS项目中只有一个通过ajax请求从服务器获取整个项目的一些配置值,即在激活帐户之前是否需要对用户进行审核.
要根据配置显示信息,应延迟整个第一页加载,直到此ajax请求完成.我的服务看起来像:
angular.module('clientApp').factory('configService', function ($http) {
var configService = {};
var conf = {};
Object.defineProperty(configService, 'serverConfig', {
get: function () {
return conf;
}
});
$http.get('/api/config').success(function (data) {
conf = $.extend(conf, data);
});
return configService;
});
Run Code Online (Sandbox Code Playgroud)
因此,由于服务是单例,因此只在页面加载时执行一次,而不是在每次路由更改时执行.
现在我知道如何使用$q和承诺,但我的问题是如何推迟执行所有角度,直到此服务完成其请求?我的大多数视图都需要来自configService.serverConfig特定行为的值并依赖于它 - 以异步方式执行此操作并且defered.then()在每个控制器中都有一个看起来不是最好的想法.
<html ng-app="yourApp">
angular.element(document).ready(function() {
angular.bootstrap(document, ["yourApp"]);
});
Run Code Online (Sandbox Code Playgroud)
也许手动引导应用程序可以帮助......?
如果情况并非如此,请查看这篇文章! 延迟 AngularJS 路由更改直到模型加载以防止闪烁
| 归档时间: |
|
| 查看次数: |
2854 次 |
| 最近记录: |