AngularJS Patterns: Resolver as separate class
Use separate classes to resolve data.
HTML
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-route.js"></script>
<div>
<div ng-view="true"></div>
</div>
<script type="text/ng-template" id="index.html">
Hello, {
{
name
}
}!
</script>
JavaScript
ExampleResolver = function ($q) {
deferred = $q.defer()
deferred.resolve('Superhero');
return deferred.promise;
};
ExampleResolver.resolve = {
name: ExampleResolver
};
ExampleCtrl = function ($scope, name) {
$scope.name = name;
};
myApp = angular.module('myApp', ['ngRoute']);
myApp.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: 'index.html',
controller: ExampleCtrl,
resolve: ExampleResolver.resolve
});
}]);
angular.bootstrap(document, ['myApp']);