我有3个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的过渡吗?
答案 0 :(得分: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.module("app",["app.config"])