Angularjs:在调用某种类型的路由时调用函数

Angularjs:在调用某种类型的路由时调用函数,angularjs,Angularjs,下面是我的示例路由配置 .config(['$routeProvider', function($routeProvider) { $routeProvider.when('/admin', { templateUrl: 'admin/admin.html', controller: 'AdminCtrl' }).when('/admin/confrence',{ templateUrl: 'admin/adminconfrence

下面是我的示例路由配置

.config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/admin', {
        templateUrl: 'admin/admin.html',
        controller: 'AdminCtrl'
    }).when('/admin/confrence',{
        templateUrl: 'admin/adminconfrence.html',
        controller: 'AdminCtrl'
    }).when('/admin/confrence/new',{
        templateUrl: 'admin/adminconfrencenew.html',
        controller: 'AdminCtrl'
    });
}])
我想在调用任何以
/admin
开头的路由时进行一些身份验证检查。有人能告诉我这是怎么可能的吗

试试这个:

app.run(function($rootScope) {       
    $rootScope.$on('$routeChangeStart', function(event, next, current) {
        if (next.$$route.originalPath.indexOf("/admin")!= -1){
           // do your stuff
        }
    });
})
试试这个:

app.run(function($rootScope) {       
    $rootScope.$on('$routeChangeStart', function(event, next, current) {
        if (next.$$route.originalPath.indexOf("/admin")!= -1){
           // do your stuff
        }
    });
})

我认为您应该使用for路由进行身份验证检查。我认为您应该使用for路由进行身份验证检查。您可以使用
event.preventDefault()
停止加载路由。我认为我们必须将“new.indexOf”改为“next.$$route.originalPath”。如果可能,请更新您的答案,以便我将其标记为正确答案。@Ahmad.Masood谢谢您的指点。更新。你是那个意思吗?我的意思是<代码>下一步。$$route.originalPath.indexOf(“/admin”)!=-1您可以使用
event.preventDefault()
停止加载路由。我想我们必须将“new.indexOf”更改为“next.$$route.originalPath”。如果可能,请更新您的答案,以便我将其标记为正确答案。@Ahmad.Masood谢谢您的指点。更新。你是那个意思吗?我的意思是<代码>下一步。$$route.originalPath.indexOf(“/admin”)!=-1