2016-09-06 58 views
1

它看起来像默认$location.hashPrefix是“”(空字符串),直到1.5.8,但它被改为“!”在1.5.9。不幸的是,我的代码有很多像<a ng-ref="/Customer#/{{customerId}}>这样的地方,现在正在破坏。是否有全球方式来处理这个?或者唯一的方法是通过整个代码库准备1.5.9? FWIW,我很好奇这是什么理由 - 无法在任何地方找到讨论...

+1

使用'$ locationProvider.hashPrefix('');'将它设置为你想要的。 – Claies

+0

我想知道如果这是正确的时间采取冒险,并移动到hashbang的URL ... – Felix

+0

角[changelog](https://github.com/angular/angular.js/blob/master/CHANGELOG.md )链接到[aa077e](https://github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52)和[#13812](https://github.com/angular/angular.js/issues/13812)理由。原因似乎是为了避免混淆,并与[HTML5模式](https://docs.angularjs.org/guide/$location#html5-mode)保持一致。 –

回答

0

你是正确的,默认hasPrefix从""改为"!"

如果您hasPrefix设置像$locationProvider.hashPrefix('');路线一样/Customer/#/{{customerId}},在1.5.8工作会的工作开始在1.5.9再解决,从我做了测试一个空字符串,但他们仍然会呈现像/Customer/#!/1

+0

谢谢。正如我在九月份提到的那样,我们决定采取措施并转向hashbang网址 – Felix