0

Web アプリのフロントエンドを構築するための 3 つの json ファイルがあります。

  1. ユーザー権限に基づいてすべてのオプションを取得する config.json
  2. ユーザー設定である Preferences.json
  3. ユーザーが Web アプリのおかげで変更するオブジェクトである foo.json

私のメイン コントローラー、config または Run (何が最善の方法かはわかりません) で、このすべての json を読み込み、それらを $rootScope に格納して、コンポーネントのすべてのインスタンスを HTML ページに構築したいと考えています。

私はすでにこれをやろうとしました...

$http.get('config/config.json').success(function(configResponse) {
  $rootScope.config = configResponse;
});
$http.get('preferences/preferences.json').success(function(prefResponse) {
  $rootScope.preferences = configResponse;
});
$http.get('foo/foo.json').success(function(fooResponse) {
   $rootScope.foo = fooResponse;
});
console.dir($rootScope);

残念ながら、それはうまくいきません。誰かが Angular 2.0 への移行を容易にするアイデアと Angular 1.5 でそれを行うための最良の方法を持っていますか?

4

1 に答える 1

0

$rootScope を使用しないでください。アプリケーションの構成では、構成情報を含む特定のモジュールを使用し、各構成ブロックを「定数」として登録することをお勧めします。

あなたの場合、サーバー側の構成がもう少し複雑になりました。サーバー側データを使用した AngularJS アプリケーションの非同期ブートストラップを参照してください 。

(function() {
    var appConfig=angular.module("app.config");
    var initInjector = angular.injector(["ng"]);
    var $http = initInjector.get("$http");

    $http.get('config/config.json').success(function(configResponse) {
       appConfig.constant("config", configResponse);
    });
   $http.get('preferences/preferences.json').success(function(prefsResponse {
       appConfig.constant("preferences", preferencesResponse);
    });


})());

アプリ モジュールに をインクルードすると、angular コントローラー、サービスなどに をapp.config挿入できます。config,preferences or foo

angular.module("app",["app.config"])
于 2016-04-29T21:56:47.207 に答える