I need to get some information (a schema) from the server before I set up a bunch of services that depend on that information.
My server provides a schema that defines v
What you want is deferred bootstrap. There is already a plugin written for this purpose - https://github.com/philippd/angular-deferred-bootstrap.
I create an example at plunkr - http://plnkr.co/edit/VfISHNULXRLe52NeAsn1?p=preview
*You must replace existing ng-app with deferred bootstrap
Code Snippet -
angular.element(document).ready(function() {
deferredBootstrapper.bootstrap({
element: document.body,
module: 'plunker',
resolve: {
schema: ['$http',
function($http) {
return $http.get('schema.json');
}
]
}
});
});
Then, you can use schema anyway in controller, services or factory just like route resolve.
Sample Code for Factory
app.factory('SomeService', function(schema){
return {
getTitle: function() {
return schema.title;
}
}
});