Angular 1.6中的URL hash-bang(#!/)前缀而不是简单哈希(#/)

She*_*xFR 47 javascript url hashbang angularjs angularjs-1.6

我上AngularJS项目的网址已经从localhost:3000/admin#/localhost:3000/admin#!/自从上次我在我的项目工作...

没有在网上找到任何东西,有人知道这是什么?

Mis*_*lis 68

它是AngularJS 1.6的新增功能,它添加了一个新的哈希前缀.

由于aa077e8,用于$locationhash-bang URL 的默认哈希前缀已从空字符串('')更改为bang('!').如果您的应用程序不使用HTML5模式或在不支持HTML5模式的浏览器上运行,并且您尚未指定自己的哈希前缀,则客户端URL现在将包含!前缀.例如,而不是mydomain.com/#/a/b/cURL将成为 mydomain.com/#!/a/b/c.

来源此处获取更多信息.


如果要删除此前缀,请将此代码添加到配置中:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);
Run Code Online (Sandbox Code Playgroud)


Ove*_*ivr 10

每个人都建议删除前缀,但您也可以简单地添加!到客户端URL(如果不使用HTML5模式,如果您在这里,可能会这样做).

因此,在客户端文件中,更新URL如下:

#/foo/bar > #!/foo/bar


Dev*_*Dig 5

在Angular 1.6.0中,默认的hashPrefix已更改为!.请参阅相关提交changelog条目.