2016-09-06 51 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