0

在启动 Angular 应用程序之前,我需要从服务器接收一些数据(它将设置为所有 Angular 的 http 标头的 accessToken)。

我尝试在应用程序的配置部分提出这个请求,但没有成功:(也许可以制作两个有角度的应用程序,像这样((!)几乎是伪代码)

引导.js

var boot = angular.module('boot', []);
boot.getToken = function (callback) {
   boot.callback = callback;
};
boot.run(function ($http) {
   $http.post('/api/login', data).success(function (res) {
     // res.token save to storage/cookies etc.
     boot.callback();
   }); 
});

主 app.js 启动和引导应用程序等。

应用程序.js

var app = angular.module('app', ['services', 'controllers', 'directives']);

app.init = function () {
  angular.bootstrap(document, ['app']);
};
...

在我需要的 main.js 文件中:

main.js

...
require(['app', 'boot'], function (app, boot) {
  boot.getToken(function () {
    app.init();
  });
});

主要问题是我还需要引导boot.js以使用所有 Angular 的 API。

4

1 回答 1

0

找到的解决方案,可能对某人有帮助 -resolve在方法上使用选项$routeProvider.when()- 它允许您在将数据从服务器预加载到控制器之前检查并提出必要的请求。

于 2013-07-08T22:05:21.807 回答