Angular.js - ui路由器|如何确保$ stateParams.anyParam的值是整数?

时间:2016-03-09 08:19:43

标签: javascript angularjs angular-ui-router

以下是$ stateProvider配置的部分代码。我想在将appId参数传递给我的控制器之前将其检查为整数。如果可能,我怎么能在这里做到这一点? 当前用户键入整个URL并为appId提供任何字符串,其中整数是预期的,然后我得到错误。例如" / app / dfsad"而不是" / app / 12"。我已将检查放在控制器中但我想在它传递给控制器​​之前检查它。谢谢。 例如,如果value不是有效数字,我希望appId转换为0(默认情况下)。谢谢!

NOT IN

1 个答案:

答案 0 :(得分:5)

ui-router支持此行为:https://github.com/angular-ui/ui-router/wiki/URL-Routing

您可以在网址中指定类型:

url: '/app/{appId:int}'

否则,您可以在onEnter回调中查看$stateProvider,您可以在其中更改参数,这可能对您有帮助(但我会将{appId:int}替换为{{1}允许进入状态。不确定它是否真的在创建控制器之前。