我必须在角度应用中的事件routeChangeStart
期间进行授权验证,并且执行此操作的方法是基于承诺的方法。所以我尝试使用event.preventDefault()
,但是一旦授权服务返回,如果用户被授权或不使用该路由,我就不知道恢复导航的方法。
我需要与ui-router的$state.go
等效的东西,但我仍然需要继续使用角度为$routeProvider
。我有什么方法或其他东西吗?或者以其他方式实现此方法?
编辑:一些代码
$rootScope.$on('$routeChangeStart', function (event, next, current) {
if (next.access) {
event.preventDefault();
authorization.authorize(next.access.allowAnonymous, next.access.permissions, next.access.permissionCheckType)
.then(function (authorized) {
if (!authorized) {
next.$$route.templateUrl = "notauthorized.html";
next.$$route.controller = null;
} else {
//resume???
}
});
}
});