是否可以在路由期间将多个值传递到“.when”调用中?例如,
$routeProvider
.when('/page1' || '/page2',
{
});
或者我必须像这样单独调用它们:
$routeProvider
.when('/page1',
{
})
.when('/page2',
{
});
我可以单独调用它们,但我只需要一组特定的顶级页面。我想知道我是否可以捆绑以节省大约 15 行额外代码,或者我是否必须单独调用它们。
最佳答案
您可以使用命名组:
$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
});
这样,如果url不是/page1
、/page2
、/page3
或/page4之一
, View 将被重定向到 404 页面。
关于angularjs - Angular.js中的多个参数 'when'在路由期间调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19101402/