我们可以在角度js中的$ routeProvider.when()函数中传递两个参数

时间:2017-02-13 08:30:22

标签: javascript angularjs route-provider

我正在尝试将 home.html 重定向为两个路径,

例如我有这样的锚标签 <a href="/home">Home</a>可能是<a href="/index">Home</a>, 在这两种情况下,我都希望它重定向到单个网址( home.html

我尝试了什么

app.config(function($routeProvider){
        $routeProvider
        .when("/home", "/index", {
            templateUrl : "home.html"
        })
        .otherwise({
            redirectTo : "home"
        });
    });

但我的上述代码无效。还有其他可能的解决方案吗?如果是这样,请提前建议。

3 个答案:

答案 0 :(得分:3)

试试这个:

app.config(function($routeProvider){
        $routeProvider
        .when("/home", {
            templateUrl : "home.html"
        })
       .when("/index", {
            templateUrl : "home.html"
        })
        .otherwise({
            redirectTo : "home"
        });
    });

答案 1 :(得分:1)

不,$ routeProvider .when需要un string和一个对象,如文档中所示:https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider

无论如何,你可以使用ui-router来构建更复杂的路由: https://github.com/angular-ui/ui-router

答案 2 :(得分:1)

只需添加两条路线,而不是合并它们。

app.config(function($routeProvider){
        $routeProvider
        .when("/home", {
            templateUrl : "home.html"
        })
        .when("/index", {
            templateUrl : "home.html"
        })
        .otherwise({
            redirectTo : "/home"
        });
    });