网址的角度路线条件,如2010/10

时间:2016-12-01 10:43:28

标签: angularjs angular-routing

如何在$routeProvide

这样的网址条件下编写www.example.com/2010/10

我写了像

这样的条件
.when( '/{year:[0-9]+/{month:[0-9]+', {
     templateUrl: WPAngular.partials + 'archive.html',
     controller: 'ByYear'
})

但它不起作用。

2 个答案:

答案 0 :(得分:1)

我认为路由提供者不支持那里的正则表达式,如果确实如此,那么你就有了不匹配的{。请参阅https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider,了解它可以匹配的不同内容。

为什么不呢:

.when( '/:year/:month', {
     templateUrl: WPAngular.partials + 'archive.html',
     controller: 'ByYear'
})

然后验证其他地方的数值。

答案 1 :(得分:1)

$routeProvider不支持正则表达式。

我建议您使用ui-router,它提供了许多$routeProvider没有的功能。

你的conf会是这样的:

$stateProvider
  .state( 'by-year', {
    url: '/{year:[0-9]+}/{month:[0-9]+}',
    templateUrl: WPAngular.partials + 'archive.html',
    controller: 'ByYear'
  });