我有一个 AngularJS 应用程序,我想在执行任何 Controller 代码之前预加载 $scope 或 $rootScope 以及应用程序特定的数据。这将包括 Angular 色、权限、本地化等内容。
我发现的唯一可行的选择是将解析对象添加到我的每一个路由/ Controller 中,我认为这是一场维护噩梦。
我还阅读了有关 application.run() 的内容,但是无法从服务中获取依赖项来解析。这意味着您可以在运行中向服务器调用服务,但它不会等待 promise 完成后再继续。
我觉得这是 AngularJS 的一个非常明显的问题。
希望我只是错过了 API 中明显的一些东西。
这是一个非常相似的问题,在夏天发布,但没有发布真正的解决方案。 AngularJS load data in app startup
最佳答案
通常,如果您想先使用 Angular 执行某些操作,然后暂停,然后再使用 Angular 执行其他操作,那么 resolve
是一个好方法。
但是,如果您想先在不使用 Angular 的情况下执行某些操作,然后启动 Angular,您可以使用 angular.bootstrap 手动启动 Angular.js。这样您就可以先加载数据,然后在您准备好时加载数据。调用 angular.bootstrap() 来启动 Angular 模块。
你需要准备什么:
- 从文档中删除
ng-app="XXX"
。 - 一切准备就绪后调用
angular.bootstrap()
。
关于javascript - 使用来自服务器的数据引导 AngularJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392588/