6

2日前にAngularjsを学び始めました。質問が2日間ずっと私を混乱させました.

アプリの起動時にデータを取得するためにサーバーに 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 でメイン メソッドに最も近いものです。実行ブロックは、アプリケーションをキックスタートするために実行する必要があるコードです。すべてのサービスが構成され、インジェクターが作成された後に実行されます。実行ブロックには通常、単体テストが難しいコードが含まれているため、単体テストで無視できるように、分離されたモジュールで宣言する必要があります。

于 2013-07-08T14:46:51.650 に答える