Angularjs适合在app启动时启动http请求的时刻

Mia*_*ter 6 angularjs

我刚开始学习Angularjs 2天前.所有这两天都有一个问题让我很困惑.

我需要向服务器发出一个http请求,以便在应用程序启动时获取一些数据,但我找不到合适的时机来执行此操作.

我试controller过去打电话$http.get().但它不起作用.似乎控制器不会被实例化,如果它从未在html中使用(不确定这一点).

我也试图找到其他方法,但我只发现$ http用于http请求.而且$http只出现在controller.

也许我需要使用其他Angularjs方法?或者,我应该手动执行实例化操作?

hol*_*ple 6

就像是:

angular.module('yourApp').run(['$rootScope', '$http', function ($rootScope, $http) {
  // do stuff here
}]);
Run Code Online (Sandbox Code Playgroud)

文档:

运行块

运行块是Angular中与main方法最接近的东西.运行块是需要运行以启动应用程序的代码.在配置完所有服务并创建注入器后执行.运行块通常包含难以进行单元测试的代码,因此应在隔离模块中声明,以便在单元测试中忽略它们.

  • 我认为提及应用程序的启动不会被阻止是件好事.海报很可能在应用程序启动后立即使用数据.这是一个很好的起点:http://stackoverflow.com/questions/16286605/initialize-angularjs-service-with-asynchronous-data (4认同)