使用带有斜杠变量的routeprovider

问题描述 投票:0回答:1

我有这个url定义,/ item / 1231,但它可以使用带有斜杠的变量作为itemID吗?

如果我的商品ID是12/31,这怎么可行呢?是否必须编码为%2F?

/项目/31分之12

  $routeProvider.when('/item/:itemID', {
    templateUrl: 'item_view.html',
    controller: 'ItemControler'

来自doc:

路径路径(与$ location.path匹配)。如果$ location.path包含冗余尾部斜杠或缺少一个斜杠,则路径仍将匹配,并且$ location.path将更新为添加或删除尾部斜杠以与路径定义完全匹配。

path可以包含以冒号开头的命名组:例如:名称。当路由匹配时,直到下一个斜杠的所有字符都匹配并存储在给定名称下的$ routeParams中。 path可以包含以冒号开头并以星号结尾的命名组:eg:name*。当路由匹配时,所有字符都急切地存储在给定名称下的$ routeParams中。 path可以包含带有问号的可选命名组:eg:name?。

例如,/ color /:color / largecode /:largecode * / edit之类的路由将匹配/ color / brown / largecode / code / with / slashes / edit和extract:

颜色:棕色

largecode:code / with / slashes。

https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider

但我还没有设法让它发挥作用

angularjs route-provider
1个回答
0
投票

好吧,正如文档说它只需要和*添加忽略斜杠。

 $routeProvider.when('/item/:itemID*', {
    templateUrl: 'item_view.html',
    controller: 'ItemControler'
© www.soinside.com 2019 - 2024. All rights reserved.