我有一个带有搜索页面的Web应用程序,可以从后端加载信息。当用户搜索特定内容时,将显示相关数据。但是,当用户重新加载页面时,将删除搜索结果。此外,如果用户单击特定搜索结果,则新页面会加载有关此搜索的更详细视图。单击浏览器的后退按钮时,搜索结果将再次丢失。刷新页面或用户想要返回搜索结果时,如何保存搜索结果?
我很感激基于AngularJS的解决方案,因为这是我正在使用的框架。谢谢!
答案 0 :(得分:3)
您应该使用ui-router或ngRoute进行路由。您似乎没有使用它,因为您说当用户点击后退按钮时,结果会丢失。如果您使用路由,则页面将不会刷新,如果您将其保存在范围内,则结果不会丢失。
对于刷新后的持久存储,我建议使用window session storage
在您的应用中,您可以将$ window服务注入您的控制器/服务或任何您想要的内容,然后像这样使用它:
$window.sessionStorage["myVar"] = 'this will be here even after refresh';
如果用户刷新页面,您可以检索变量的内容,如下所示:
var myVar = $window.sessionStorage["myVar"];
答案 1 :(得分:2)
您可以使用localStorage。
localStorage.setItem(key,value);
和
localStorage.getItem(key);
请寻找更多高级功能