AngularJs - 可以只通过精确匹配路由吗?

AngularJs - Route by exact match only is possible?

在我的应用程序中,我想完全匹配 url。如果 url 不完全匹配,我需要重定向到 defualt as '`.

目前我需要测试:

localhost:3000/sn=1234 or localhost:3000/sn=abc123 or localhost:3000/sn=abc123

这意味着,至少 sn= 应该与 values 一起出现,无论是按数字还是字母或两者混合。

目前我的state是这样的:

.state('serialCreateCase', {
        url: '^/sn={serialNumber}',
        templateUrl:'app/createCase/create-case.html',
        controller: 'createCaseController as ctrl'

      })

但它适用于:localhost:3000/sn=, localhost:300/sn - 如何防止这种情况?并匹配所需的值?

提前致谢。

您可以对状态参数使用正则表达式限定符。例如

url: '/sn={serialNumber:[a-z0-9]+}'

https://ui-router.github.io/docs/0.3.1/#/api/ui.router.util.type:UrlMatcher

注意: 我删除了您 URL 上的 ^ 前缀。我见过的文档都不支持这种格式。