AngularJS Route - 自定义验证,然后检查其他路线

时间:2014-03-18 01:57:40

标签: angularjs angularjs-routing

假设我有一条像“/:department”这样的路线,其中部门只能是书籍,音乐等。首先,如何在控制器/模板选择之前强制执行此约束 ,然后如果它无效,我如何测试它对表中的其他路线?否则,例如,/ about将无效。

选择我理解的相应控制器和模板的另外两个组件只是使用$ routeParams构建的返回路径的函数。

1 个答案:

答案 0 :(得分:0)

为什么你不能这样做:

假设您的路线是这样的:

.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
    }
});