如何在 angularjs 中使用一个模板和控制器进行嵌套路由?

How to do nested routing using one template & controller in angularjs?

我有一个主模板main.html,现在我在这个页面中有几个链接。

  `<a href="albums/bollywood">bollywood </a>`
  <a href="albums/tollywood">tollywood </a>

现在反过来这个页面又有链接了 <a href="album/bollywood/hindi/old"> Old </a>

锁链还在继续。

现在我想要的是每个 url 都有一个模板来渲染。 我想要一种配置为:-

`$routeProvider(when('/albums/:albumName),
 {
     templateUrl : 'albumsList.html',
     controller : 'albumsCtrl'
 })`

我想指定 /albums/* 之后的内容,使用 $routeParams 在 albumName 中收集该值。

在我的场景中,我认为不需要使用 ui-routes。

您需要在 $routeProvider 中使用 * 来匹配 url 中的所有字符,当使用 : 时它将匹配所有字符直到 [=21] =]/。

更改您的代码

$routeProvider(
when('/albums/:albumName),
 {
     templateUrl : 'albumsList.html',
     controller : 'albumsCtrl'
 })

$routeProvider(
when('/albums/:albumName*),
 {
     templateUrl : 'albumsList.html',
     controller : 'albumsCtrl'
 })

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