角度解析 url 与 LocationHashbangUrl 但 $locationProvider.html5Mode

angular parses url with LocationHashbangUrl but $locationProvider.html5Mode(true) is set

本文关键字:locationProvider html5Mode LocationHashbangUrl url      更新时间:2023-09-26

我在 angular 和 html5Mode 中遇到了奇怪的行为:
当我输入 SPA 的 url 时,我可以在调试器中看到,即使设置了$locationProvider.html5Mode(true),初始位置模式也是 LocationHashbangUrl
因此,Url首先由LocationHashbangUrl解析。
然后在 angular 执行完$locationProvider.html5Mode(true)后,URL 再次被解析。

我将其与本 http://plnkr.co/edit/DA3Oq6?p=info 的一个相当简单的示例实现进行了比较,但事实并非如此,角度立即以 LocationHtml5Url 开头。

我怀疑这会导致浏览器后退按钮出现问题。
当我使用浏览器的后退按钮时,我可以在调试器中看到 url 首先由 LocationHashbangUrl 而不是 LocationHtml5Url 再次解析,这会导致 URL 更改为空路径。

我在 requirejs 上下文中使用角度 1.2.28 和角度路由 1.2.28。

顺便说一句,这是历史上角度路线的后续,但浏览器后跳到第一个输入的网址

我找到了原因:
在实际的主应用程序之前有一个模块引导,这就是初始LocationHashbangUrl对象的原因。

在此模块中设置$locationProvider.html5Mode(true);也解决了它。

相关文章:
  • 没有找到相关文章