最简单的方法是处理当前路由的解析依赖性,并且
$routeChangeStart是管理此路由的好地方。这是一个例子。
app.run(function ($rootScope, $location) { var unrestricted = ['', '/login']; $rootScope.$on('$routeChangeStart', function (e, to) { if (unrestricted.indexOf(to.originalPath) >= 0) return; to.resolve = to.resolve || {}; // can be overridden by route definition to.resolve.auth = to.resolve.auth || 'authService'; }); $rootScope.$on('$routeChangeError', function (e, to, from, reason) { if (reason.noAuth) { // 'to' path and params should be passed to login as well $location.path('/login'); } });});另一个选择是将
default方法添加到
$routeProvider和修补
$routeProvider.when以扩展默认对象的路由定义。



