6

两天前我刚开始学习Angularjs。一个问题让我困惑了两天。

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

我试图制作一个controller,它调用$http.get(). 但它不起作用。如果它从未在 html 中使用过,似乎控制器不会被实例化(对此不确定)。

我也尝试寻找其他方法,但我只找到了用于 http 请求的 $http。并且$http只出现在controller.

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

4

1 回答 1

6

就像是:

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

文档中:

运行块

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

于 2013-07-08T14:46:51.650 回答