самое удобное в options роутера передать ключ resolve
где заместо значений возвращать promise запросов
подробности тут
docs.angularjs.org/api/ngRoute/provider/$routeProvider
пример тут
jsfiddle.net/derkoe/Wk7WD/presentation
ну и для наглядности тут
.when('/somepath', {reloadOnSearch: false, controller:'SomeCtrl', templateUrl:'some_template',
resolve:{
somedata:['someresource', '$route', function (someresource, $route) {
return someresource.query($route.current.params)
.then(function(data) {
return data;
}, function(e){
console.error(e);
throw e;
});
}]}
})