我有一个带有搜索页面的网络应用程序,该页面从后端加载信息。当用户搜索特定内容时,相关数据就会出现。但是,当用户重新加载页面时,搜索结果将被删除。此外,如果用户单击特定搜索结果,新页面将加载有关此搜索的更详细 View 。当您单击浏览器的后退按钮时,搜索结果再次丢失。如何在页面刷新时或用户想要返回搜索结果时保存搜索结果?
我希望能有一个基于 AngularJS 的解决方案,因为这是我正在使用的框架。谢谢!
最佳答案
您应该使用 ui-router 或 ngRoute 进行路由。您似乎没有使用它,因为您说过当用户单击后退按钮时,结果会丢失。如果您使用路由,页面将不会刷新,并且如果您将结果保存在一个范围内,结果就不会丢失。
对于刷新后的持久存储,我建议使用 window session storage
在您的应用中,您可以将 $window 服务注入(inject)您的 Controller /服务或任何您想要的,然后像这样使用它:
$window.sessionStorage["myVar"] = 'this will be here even after refresh';
如果用户刷新页面,您可以像这样检索变量的内容:
var myVar = $window.sessionStorage["myVar"];
关于javascript - 如何在重新加载页面或使用 AngularJS 单击 "back"按钮时保存搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35875805/