Angular:为什么Chrome需要根网址的哈希值

时间:2015-10-19 15:02:49

标签: angularjs

我看到IE和Chrome之间在加载根网址时有不同的行为,我不明白为什么。 我的控制器配置是:

$routeProvider.when("/", {
  title: "Home",
  controller: "mainController",
  controllerAs: "mainCtrl",
  templateUrl: "/templates/mainView.html"
}

我的导航栏中有一个链接应该指向根目录。如果我在网址中包含哈希值,则适用于Chrome。但是如果我只有一个斜杠,它就不会加载主控制器/视图。无论我是否包含IE,IE都能正常工作。

换句话说,这有效:

<a href="/#/">Home</a>

这不是:

<a href="/">Home</a>

有什么想法吗?我可以通过包含哈希来使其工作,但我想了解我需要的原因。谢谢你的任何提示。 马库斯

1 个答案:

答案 0 :(得分:0)

如果您没有设置html5模式,Angular将从#标签中删除。让我们说你的申请就在这里:http://www.somedomain.com/myApp/ "/"会带你到这里http://www.somedomain.com/"/#/"会把你带到这里http://www.somedomain.com/myApp/#/ < / p>