AngularJS路由-自定义验证,然后检查其他路由
假设我有一个类似“/:department”的路由,其中department只能是书籍、音乐等。首先,在选择控制器/模板之前,我如何执行此约束,然后如果它无效,我如何让它与表中的其他路由进行测试?否则,例如,/about将无效AngularJS路由-自定义验证,然后检查其他路由,angularjs,angularjs-routing,Angularjs,Angularjs Routing,假设我有一个类似“/:department”的路由,其中department只能是书籍、音乐等。首先,在选择控制器/模板之前,我如何执行此约束,然后如果它无效,我如何让它与表中的其他路由进行测试?否则,例如,/about将无效 我理解,选择合适的控制器和模板的另外两个组成部分只是为从$routeParams构建的返回路径使用函数的问题。为什么不能这样做: 假设您的路线如下所示: .when('get/:department, { templateUrl: 'Your template ur
我理解,选择合适的控制器和模板的另外两个组成部分只是为从$routeParams构建的返回路径使用函数的问题。为什么不能这样做: 假设您的路线如下所示:
.when('get/:department, {
templateUrl: 'Your template url',
controller: 'controller'
});
在控制器中:
app.controller('controller', function ($location, $routeParams){
if($routeParams.department!=='books' || $routeParams.department!=='music' || .....) {
$location.path('invalid route');
} else {
// Your controller body
}
});
我考虑过这一点,但我正在设置一个控制器和模板来处理重定向,这似乎有点不太妥当。