【问题标题】:How to set root location for AngularJS router?如何为AngularJS路由器设置根位置?
【发布时间】:2015-05-27 23:33:42
【问题描述】:

我想从 http://mysite.com/hello/world 开始导航,而不是从站点根目录。

例如

$routeProvider
  .when('/myurl', {
    templateUrl: 'mytmpl.html',
    controller: 'MyCtrl'
  });

当我的网址是http://mysite.com/hello/world/myurl时应该做出反应

我该怎么做?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    当用户导航到http://example.com/hello/world 时,将基本标记添加到正在提供的主 HTML 文件中:

    <base href="/hello/world/" />
    

    更多信息请访问Developer Guide / Using $location

    【讨论】:

    • 更改站点基础不是正确的决定。我想做类似Backbone.history.start({pushState: true, root: "/public/search/"}) 的事情。有可能吗?
    • 我不熟悉 Backbone 方法。而且您没有解释为什么基本标签解决方案不是正确的决定?
    • 它改变了所有静态的行为。我只想改变路由器的基础。
    【解决方案2】:

    添加基本标签也会产生问题,会附加双倍时间。

    通过在模板 url 中为 root 添加 (.) 如下: templateUrl: './mytmpl.html' - 解决问题

    【讨论】:

      猜你喜欢
      • 2014-04-19
      • 2013-05-26
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 2017-10-17
      相关资源
      最近更新 更多