我有这个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
但我还没有设法让它发挥作用
好吧,正如文档说它只需要和*添加忽略斜杠。
$routeProvider.when('/item/:itemID*', {
templateUrl: 'item_view.html',
controller: 'ItemControler'