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?
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? –