【问题标题】:Can we pass two parameters in $routeProvider.when() function in angular js我们可以在 Angular js 中的 $routeProvider.when() 函数中传递两个参数吗
【发布时间】:2017-02-13 08:30:21
【问题描述】:

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

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

我尝试了什么

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

但是我上面的代码不起作用。有没有其他可能的解决方案?如果有,请建议,提前谢谢。

【问题讨论】:

  • 我不建议有两个指向同一位置的 URL。而是使用重定向 (redirectTo )。
  • 我只想要一个条件,比如它可以是 #one 或 #two ,我不是说一次重定向两件事
  • 是的,但是路由器的 API 不允许您尝试做的事情 :-(
  • 这就是问题所在 :( 我们可以在 Angular 中使用 vanilla JavaScript 条件来实现它吗?
  • 怀疑。但切换到新的组件路由器或 UI 路由器可能会有所帮助。

标签: javascript angularjs route-provider


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 路由提供者和ui-router有什么区别,是一样的吗?
    • ui-router 是一个独立的模块,它为 Angular 路由器添加了额外的功能,请查看我提供的链接;)
    • 谢谢!去抢:)
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-04
      • 1970-01-01
      相关资源
      最近更新 更多