2017-02-27 6 views
0

Ich mache einen $http Anruf mit der Fabrik und teile die Daten an alle Steuerungen.So stellen Sie Fabrikdaten zur Verfügung, bevor die Steuerung die Seite in angularJS lädt

Eigentlich bekomme ich diese Daten von config.json Datei, aber zuerst auf Daten laden wird nicht an alle Controller gesendet.
Ich möchte, dass Daten verfügbar sind, bevor der Controller weitere Anrufe tätigen kann.

Mein config.json hat app_key, app_secret, base_url etc, hier mein Werk ist (JS-Code)

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'], 

    } 
}) 

meine config.json Datei sieht wie folgt aus

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

Die Grund, warum ich app_key zurückgebe: window.localStorage ['app_key'] ist nur, weil ich auf diese Servicedaten wie zugreifen muss userService.app_key im Controller.

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; 
}]); 

Kann mir bitte jemand sagen, welchen Fehler ich mache?

Antwort

-1

Der richtige Ort, um diese Abhängigkeiten zu laden, ist in Ihrem Modul run/config-Methode.

prüfen Dokumentation hier: https://docs.angularjs.org/guide/module#module-loading-dependencies zum Beispiel und weitere Informationen ...

+0

Hallo @elCarda danke für die Antwort, können Sie bitte geben Sie mir jede Geige oder kleines Beispiel zu solchen Anruf zu tätigen? –

Verwandte Themen