javascript - 如何在重新加载页面或使用 AngularJS 单击 "back"按钮时保存搜索结果

标签 javascript html angularjs

我有一个带有搜索页面的网络应用程序,该页面从后端加载信息。当用户搜索特定内容时,相关数据就会出现。但是,当用户重新加载页面时,搜索结果将被删除。此外,如果用户单击特定搜索结果,新页面将加载有关此搜索的更详细 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/

相关文章:

javascript - 无法从回调中的remove()访问writeresult

html - css 在下拉菜单中有另一个下拉菜单

html - 我应该将 'name' 属性与 'ng-model' 并行设置吗?

angularjs - 阻止 AngularJs 将 GET 错误消息输出到控制台?

javascript - 连接日期和时间值

javascript - 选择接下来的 2 位以 XXX 开头但不是 XXX 的数字

javascript - 如何使用动态 TOC 光标创建静态 html 页面

html - 从 html5 动画创建视频的最佳方式

javascript - 检查页面标题是否包含在链接属性中并使用 jQuery 分配事件类

angularjs - 在 Angular/tornado 网站中发布请求