在 $routeProvider 中组合 .when() 方法

Combining .when() method in $routeProvider

在我的代码中,路径“/”和“/A”调用相同的模板和控制器。是否可以为单个 .when() 方法包含多个路由?如果可以,这些路由如何组合?

$routeProvider.
    when("/", {
        templateUrl: "templates/A.html",
        controller: "AController"
    }).   
    when("/B", {
        templateUrl: "templates/B.html",
        controller: "BController"
    }).   
    when("/A", {
        templateUrl: "templates/A.html",
        controller: "AController",          
    }).
    otherwise({ 
        redirectTo: '/' 
    });

如何重定向 /A 请求?

    when("/A", { redirectTo: '/' } ).

您可以考虑参数化路由吗?如果 A 不是静态的,那就是要走的路。你会有这样的东西:

$routeProvider
    .when("/:A?", {
        templateUrl: "templates/A.html",
        controller: "AController"
    })   
    .when("/B", {
        templateUrl: "templates/B.html",
        controller: "BController"
    })   
    .otherwise({ 
        redirectTo: '/' 
    });