在 Angular 1.5 的 $rootScope 中存储多个外部 json 文件的最佳方式是什么?
Which is the best way to store several external json file in $rootScope in Angular 1.5?
我有 3 个 json 文件来构建我的网络应用程序的前端:
- config.json根据用户权限获取所有选项
- preferences.json 这是用户偏好
- 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"])
我有 3 个 json 文件来构建我的网络应用程序的前端:
- config.json根据用户权限获取所有选项
- preferences.json 这是用户偏好
- 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"])