如何在 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/"> Hindi </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
我有一个主模板main.html,现在我在这个页面中有几个链接。
`<a href="albums/bollywood">bollywood </a>`
<a href="albums/tollywood">tollywood </a>
现转宝莱坞页面,又有链接
<a href="album/bollywood/hindi/"> Hindi </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