在 Angular 1.5 的 $rootScope 中存储多个外部 json 文件的最佳方式是什么?

Which is the best way to store several external json file in $rootScope in Angular 1.5?

我有 3 个 json 文件来构建我的网络应用程序的前端:

  1. config.json根据用户权限获取所有选项
  2. preferences.json 这是用户偏好
  3. foo.json 这是用户将要修改的对象 感谢网络应用程序

在我的主控制器中,配置或 运行(我不知道什么是最好的方法),我想加载所有这些 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 1.5 中实现它的最佳方法,这将促进 Angular 2.0 中的过渡?

不要使用 $rootScope,对于应用程序配置,建议使用具有配置信息的特定模块并将每个配置块注册为“常量”。

在您的情况下,服务器端配置有点复杂。看 Asynchronously Bootstrapping AngularJS Applications with Server-Side Data

(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);
    });


})());

在您的应用程序模块中包含 app.config,然后您可以将 config,preferences or foo 注入到您的 angular 控制器、服务...

angular.module("app",["app.config"])