2017-02-27 81 views
0

我正在使用工厂进行$http调用并将数据共享到所有控制器。如何使控制器在加载页面之前提供工厂数据angularJS

实际上,我从config.json文件获取该数据,但首先加载数据并未广播到所有控制器。
我希望数据在控制器可以进一步调用之前可用。

config.jsonapp_keyapp_secretbase_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。

​​

任何人都可以告诉我我犯了什么错误吗?

回答

相关问题