角度JS路由参数在路由时约束
Angular JS route param constrain when routing
嗨,考虑我的路由如下所示
when('/:UserType/:LocationID', {
title: 'Search',
templateUrl: function(Param){
switch (Number(Param.UserType)) {
case 2:
return 'app/Views/Search/tutor-search.html';
break;
case 3:
return 'app/Views/Search/institute-search.html';
break;
}
}
}).
otherwise({
redirectTo: '/'
});
上面有两个路由参数/:UserType/:LocationID应该只在参数是数字时路由,如果带有字母,它不应该允许路由,我不知道这样做,任何帮助都是可观的。
在 ui 路由器中,您可以使用 url 匹配器:http://angular-ui.github.io/ui-router/site/#/api/ui.router.util.type:UrlMatcher喜欢
'/user/{id:[0-9a-fA-F]{1,8}}'
我不确定内置角度路由器。如果没有,则可以在路由更改事件中添加检查以禁止路由器。
$scope.$on('$locationChangeStart', function(event, next, current) {
.. and the check
if (stop) event.preventDefault();
});
你看过UI路由器框架吗?它提供Regex Parameters
.像这样:
title: 'Search',
// user id of at least one number, location of 2 to 8 numbers
url: '{user:[0-9]{1,*}}/{loc:[0-9]{2,8}}'
相关文章:
- Emberjs应用程序加载在除Index之外的所有路由上
- 正在使用$location.path(.)路由ng视图
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 未激发路由的控制器属性上的观察者
- AngularJS ui路由器html5模式中断路由
- 发送json对象或使用express路由呈现视图
- 使用主干网和rails的静态页面路由
- 如何使用Passport保护路由终结点
- 有没有办法用routerLink/router.navigation附加查询/路由参数
- Nodejs和express路由,如何处理客户端的承诺
- TinyMCE实例在切换角度路由选项时会消失
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 使用Ampersand.js路由模块化应用程序
- Angular 2路由已弃用:如何检测CanActivate
- 格式化获取请求的路由
- 在node-js路由中发出http请求
- 无法运行php代码,有角度路由问题
- 更改路由后,运行一次js脚本
- 如何使用服务器上的react路由器处理所有可能的路由
- 角度JS路由参数在路由时约束