angularjs - 使用带有斜杠变量的 routeprovider
问题描述
我已经定义了这个 url,/item/1231,但是可以使用带有斜杠的变量作为 itemID?
如果我的项目 ID 是 12/31,这怎么可能?是否必须将其编码为 %2F?
/项目/12/31
$routeProvider.when('/item/:itemID', {
templateUrl: 'item_view.html',
controller: 'ItemControler'
从文档:
路由路径(与 $location.path 匹配)。如果 $location.path 包含多余的斜杠或缺少一个,则路由仍将匹配,并且 $location.path 将更新以添加或删除斜杠以与路由定义完全匹配。
path 可以包含以冒号开头的命名组:例如:name。当路由匹配时,直到下一个斜杠的所有字符都匹配并存储在给定名称下的 $routeParams 中。path 可以包含以冒号开头并以星号结尾的命名组:例如:name*。当路由匹配时,所有字符都急切地存储在给定名称下的 $routeParams 中。路径可以包含带有问号的可选命名组:例如:名称?。
例如,像 /color/:color/largecode/:largecode*/edit 这样的路由将匹配 /color/brown/largecode/code/with/slashes/edit 并提取:
颜色:棕色
大码:代码/带/斜杠。
https://docs.angularjs.org/api/ngRoute/provider/ $routeProvider
但我还没有成功
解决方案
好吧,正如文档所说,它只需要添加和 * 以忽略斜杠。
$routeProvider.when('/item/:itemID*', {
templateUrl: 'item_view.html',
controller: 'ItemControler'
推荐阅读
- angular - Angular PrimeNG 菜单错误“找不到模块”
- symfony - 使用多个防火墙和多个防护
- formatting - Latex算法行距
- html - 响应式移动设计在其他设备上看起来不同
- typescript - 有没有办法在 jest hooks 中获取测试的文件名?
- python - Columns in Dataframe not splitted
- ios - iOS 14 小部件可用内存
- sql - 通过客户端和 DBeaver 访问 PostgreSQL 的时区
- reactjs - routerProps 是什么意思?
- wordpress - 自定义文件中未定义的函数 wp_redirect()