在路由期间是否可以将多个值传递给'.when'调用?例如,
$routeProvider
.when('/page1' || '/page2',
{
});
或者我必须单独称呼它们:
$routeProvider
.when('/page1',
{
})
.when('/page2',
{
});
我可以单独调用它们,但我只想要一组特定的顶级页面。我想知道我是否可以捆绑以节省~15行额外代码,或者我是否必须单独调用它们。
答案 0 :(得分:1)
您可以使用命名组:
$routeProvider.
when('/page:id'), {
templateUrl: 'page-template.html',
controller: 'PageCtrl'
}).
when('/404'), {
templateUrl: '404.html',
controller: 'NotFoundCtrl'
}).
otherwise({
redirectTo: '/404'
});
http://docs.angularjs.org/api/ngRoute.$routeProvider
消息页控件
app.controller('PageCtrl', function($routeParams, $location) {
switch ($routeParams.id) {
case 1:
case 2:
case 3:
case 4:
// code for your base pages
break;
default:
$location.path('/404'); // not base pages, 404
break;
}
// other code
});
这样,如果网址不是/page1
,/page2
,/page3
或/page4
之一,则视图将重定向到404网页。