如何在angular.js中捕获任意数量的斜杠?

时间:2013-04-26 00:43:43

标签: angularjs

我想创建一个角度站点来处理用户可以在文件系统树中导航的文件,(例如在github上:github.com/angular/angular.js/tree/master/path/to/my/file.js

我想用角度路线捕获URL的path/to/my/file.js部分:

.when("/files/:myPath", templateUrl: "...", controller: "...")

但正如预期的那样,:myPath仅匹配下一个斜杠。

如何捕获网址的所有剩余部分,包括任意数量的斜杠?


我发现this question是相关的,但不同之处在于我的网址可以在角度哈希之后,例如.../index.html#/files/path/to/my/file

1 个答案:

答案 0 :(得分:10)

从Angular 1.1.5开始,您可以使用*path - 请参阅here

  

路径可以包含以星号开头的命名组( * name )。所有角色都热切地存储在中   路线匹配时,在给定名称下$routeParams

     

例如, / color /:color / largecode / * largecode / edit 等路线将匹配   的 /颜色/棕色/ largecode /代码/带/ slashs /修改

从Angular 1.3开始,语法为:path*(在评论中归功于DRAX)