如何使控制器在加载页面之前提供工厂数据angularJS
问题描述:
我正在使用工厂进行$http
调用并将数据共享到所有控制器。如何使控制器在加载页面之前提供工厂数据angularJS
实际上,我从config.json
文件获取该数据,但首先加载数据并未广播到所有控制器。
我希望数据在控制器可以进一步调用之前可用。
我config.json
有app_key
,app_secret
,base_url
等,这里是我厂(JS代码)
JS
.factory('UserService', function($http, $rootScope) {
$http.get('config.json').success(function(data) {
var app_key = data.app_key;
var app_secret = data.app_secret;
var base_url=data.base_url;
window.localStorage['app_key'] = app_key;
window.localStorage['app_secret'] = app_secret;
window.localStorage['base_url'] = base_url;
})
return {
app_key : window.localStorage['app_key'],
app_secret : window.localStorage['app_secret'],
base_url:window.localStorage['base_url'],
}
})
我config.json文件看起来像这样
{
"app_key" : "my_app_key_here",
"app_secret" : "my_app_secret_here",
"base_url" : "http://base_url.com",
}
的原因我正在返回app_key:window.localStorage ['app_key']是因为我需要访问此服务数据控制器中的userService.app_key。
任何人都可以告诉我我犯了什么错误吗?
答
加载此依赖项的正确位置在您的模块运行/配置方法中。
检查文档在这里:https://docs.angularjs.org/guide/module#module-loading-dependencies例如和更多信息...
嗨@elCarda感谢您的答复,可以请你给我提供任何小提琴或小例子来做出这样的电话吗? –