【发布时间】:2014-12-31 03:37:17
【问题描述】:
我目前正在为我的管理面板路由设置解析,我想知道存储它们的最佳方式是什么,理想情况下我不想让我的路由器充满这样的方法:
when('/admin', {
templateUrl: 'app/private/admin/view.html',
controller: 'admin',
resolve: ['$q', '$location', 'api', function($q, $location, api){
var deferred = $q.defer(),
session = api.session();
if(session){
deferred.resolve(session);
} else {
api.authorise().success(function(response){
deferred.resolve(response);
}).error(function(error){
$location.path('/login');
deferred.reject(error);
});
}
return deferred.promise;
}]
})
我认为理想的结构是将解析存储在我用于该路由的控制器中,例如:
when('/admin', {
templateUrl: 'app/private/admin/view.html',
controller: 'admin',
resolve: adminCtrl.resolve
})
但是无法从配置中访问管理控制器,所以这让我不得不使用提供程序,在扩展我的应用程序时仍然会很混乱。
你们都如何处理自己的解析/是否可以将其存储在我的控制器中?
【问题讨论】:
标签: javascript angularjs angularjs-routing angularjs-controller