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