如何在控制器加载angularJS页面之前使工厂数据可用

时间:2017-02-27 09:37:05

标签: javascript angularjs json

我正在使用工厂进行config.json调用并将数据共享给所有控制器。

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

我的app_keyapp_secretbase_url.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'], } }) 等,这是我的工厂(JS代码)

JS

{
    "app_key" : "my_app_key_here",
    "app_secret" : "my_app_secret_here",
    "base_url" : "http://base_url.com",
}

我的config.json文件看起来像这样

ngoApp.controller('loginCtrl',['$scope','$http', '$localStorage', '$state','UserService','$rootScope', function($scope, $http, $localStorage, $state, UserService, $rootScope) {
 //I want to access app_key as below format
$scope.app_key=UserService.app_key;
}]);

我返回app_key的原因:window.localStorage [' app_key']只是因为我需要访问控制器中的userService.app_key这样的服务数据。

warning: parser/current is loading parser/ruby22, which recognizes
warning: 2.2-compliant syntax, but you are running 2.3.1.

有谁能告诉我我犯了什么错误?

1 个答案:

答案 0 :(得分:-1)

加载此依赖项的正确位置在您的模块运行/配置方法中。

在此处查看文档:{​​{3}}以及更多信息......