routeChangeStart恢复导航,相当于$ state.go

时间:2016-12-03 16:50:30

标签: angularjs ngroute route-provider angularjs-ng-route

我必须在角度应用中的事件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???
                    }
                });
        }
    });

0 个答案:

没有答案