捕获所有路由参数

时间:2013-03-20 08:59:49

标签: javascript angularjs url-routing

我有一个这样的网址:http://foo.bar/#/some/other/path

如何捕获“some / other / path”作为路由参数?

我试过了:

var App = angular.module("App", [])
  .config(function($routeProvider){
    $routeProvider
      .when('/:path', { controller: ListCtrl, templateUrl: 'list.html'})
      .otherwise({ redirectTo: '/'})
  });

但是:path只给了我some而不是some/other/path

1 个答案:

答案 0 :(得分:2)

正如Stewie在上面的评论中所提到的,Angular unstable 1.1.3现在通过使用星号来支持catch-all。

例如:

var App = angular.module("App", [])
  .config(function($routeProvider){
    $routeProvider
      .when('/*path', { controller: ListCtrl, templateUrl: 'list.html'})
      .otherwise({ redirectTo: '/'})
  });

部分字符串匹配 - 例如匹配网址中jpg的实例 - 似乎仍然不受支持。