我的程序是对Angular 2" Routing"的修改。高级教程。我可以通过表单控件导航到正确的位置。但是使用URL栏会给我带来麻烦。
假设我之前已导航到某项功能,因此已发生登录和延迟加载。如果我在我登录页面的URL中输入其地址。跟踪我的代码我从一开始就重新开始,以前懒惰加载的模块现在不为系统所知。
或使用Plunker页面中的库存应用程序。在我导航到危机中心#2编辑页面后,我输入了网址栏:
http://localhost:8000/crisis-center/1
我收到此控制台错误:
zone.js@0.6.25?main=browser:1274 GET http://localhost:8000/crisis-center/crisis-center/app/main.ts
我的目标是危机中心/ 1的访问应该向我显示记录编辑器页面中的记录,这是通过Angular 2控件的常见行为。相反,该应用程序开始重新加载。它无法找到localhost:8000 / app / main.ts而是加载localhost:8000 / crisis-center / crisis-center / app / main.ts。
我怀疑我应该使用浏览器本地存储做些什么,但是什么?
谢谢, 杰罗姆。
答案 0 :(得分:1)
Angular使用pushState API,只有在使用此API时才能更改URL而不会导致页面重新加载。
如果手动更改URL,浏览器会重新加载URL。你或Angular没有什么可以做的。
另见https://developer.mozilla.org/en-US/docs/Web/API/History_API