我遇到了与angular和html5Mode的奇怪行为:
当我输入SPA的URL时,我可以在调试器中看到,即使设置了$locationProvider.html5Mode(true)
,LocationMode也是 LocationHashbangUrl 。
因此,Url首先由 LocationHashbangUrl 解析
然后在angular执行$locationProvider.html5Mode(true)
后,url会再次被解析。
我将此与此http://plnkr.co/edit/DA3Oq6?p=info的一个相当简单的示例实现进行了比较,但并非如此,并且立即从LocationHtml5Url开始。
我怀疑这会导致浏览器后退按钮出现问题 当我使用浏览器的后退按钮时,我可以在调试器中看到,首先通过 LocationHashbangUrl 而不是 LocationHtml5Url 再次解析url,这会导致Url更改为空路径
我在requirejs上下文中使用了角度1.2.28和角度路径1.2.28。
顺便说一下,这是angular routes are in history but browser back jumps to first entered url
的后续行动答案 0 :(得分:0)
我找到了原因:
在实际主应用程序之前有一个模块被引导,这就是初始 LocationHashbangUrl 对象的原因。
在此模块中设置$locationProvider.html5Mode(true);
并解决它。