javascript - 使用来自服务器的数据引导 AngularJS 应用程序

标签 javascript angularjs

我有一个 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 模块。

你需要准备什么:

  1. 从文档中删除 ng-app="XXX"
  2. 一切准备就绪后调用 angular.bootstrap()

Doc for angular.bootstrap()

关于javascript - 使用来自服务器的数据引导 AngularJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392588/

相关文章:

javascript - React组件如何简化这个onClick功能?

javascript - 如果变量包含

javascript - Angular - 模板 View 中的表达式

javascript - Angular JS - 如何验证数字输入中的位数

javascript - Mean.io 中的 Assetmanager 在生产模式下不工作

javascript - 如何在 OnSend 中使用需求集 1.7?

javascript - ExtJS 5 - 将在网格中双击的单元格的值传递到新窗口

java - Spring MVC 不使用 angularjs 指令渲染 html

angularjs - 在 $stateChangeStart 中使用 $state.go 会导致无限循环

javascript - 如何在单个 HTTP 请求中加载 Angular Controller 和模板?