3

是否可以在路由期间将多个值传递给“.when”调用?例如,

$routeProvider
    .when('/page1' || '/page2', 
    {

    });

还是我必须像这样单独称呼他们:

$routeProvider
    .when('/page1', 
    {

    })
    .when('/page2', 
    {

    });

我可以单独调用它们,但我只想要一组特定的顶级页面。我想知道我是否可以捆绑以节省大约 15 行额外代码,或者我是否必须单独调用它们。

4

1 回答 1

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
});

这样,如果 url 不是、或之一/page1,则视图将被重定向到 404 页面。/page2/page3/page4

于 2013-09-30T18:47:07.797 回答