AngularJS 1.1.5 - 自动向URL添加哈希标记

时间:2013-06-27 18:15:38

标签: javascript url angularjs hashtag

有谁知道为什么版本1.1.5会自动为您的网址添加主题标签,以及如何关闭它? IMO这看起来很难看。只要您的网址没有以正斜杠结尾,就会发生这种情况。 (我没有使用路线或类似的东西)。

所以这个:

http://my.website.com/about

变为

http://my.website.com/about#/about

和此:

http://my.website.com/about.html

变为:

http://my.website.com/about.html#/about.html

但是这个:

http://my.website.com/about/

没有这个问题。

3 个答案:

答案 0 :(得分:25)

我前几天遇到过这个问题。我通过为$locationProvider启用HTML5模式解决了这个问题。请参阅 Docs for $location - HTML5 Mode Updated link for $location - HTML5 Mode

看起来应该类似于:

.config(['$locationProvider', function($locationProvider){
    $locationProvider.html5Mode(true).hashPrefix('!');
}]);

答案 1 :(得分:3)

这似乎是angularjs 1.1.5中引入的一个错误(因为1.1.4没有出现这个问题)。我在这里报告了这个错误:

https://github.com/angular/angular.js/issues/3083

答案 2 :(得分:1)

在$ routeProvider中将HTML5模式设置为true,如下所示

$locationProvider.html5Mode(true);

在页面的标题部分添加以下行

<base href="/">