Angular:选择元素后返回搜索列表

时间:2016-07-25 10:43:44

标签: angularjs ajax search back

我在角度应用程序中遇到以下问题: - 第一页是搜索页面,带有表单和搜索列表。搜索结果为分页,ia有一个“显示更多”按钮,显示接下来的10个结果 - 单击结果将显示第二页,其中包含有关元素的详细信息(仅限经典搜索行为)。

现在我的问题如下:在元素页面中,单击浏览器的BACK按钮会将用户带到搜索页面,但搜索会丢失。

我实现了一个缓存,以便将表单存储在服务中 - 这样我就可以自动重新启动搜索。但在这种情况下,滚动会丢失,只显示十个第一个结果(分页丢失)。

我看到的唯一解决方案是每次单击“显示更多”按钮时在历史记录中添加一个条目,但我还必须保存窗口滚动级别的某个位置。我发现这个解决方案非常复杂,烦人,不漂亮。

所以问题是:是否有一种常见且更简单的方法可以做到这一点?

我认为这是ajax / angular应用程序的常见问题,当我选择一张相同的专辑时,在deezer中。

1 个答案:

答案 0 :(得分:0)

这应该通过url params进行管理......应用程序路由器必须能够请求确定的应用程序状态。您需要在管理服务器端搜索结果时管理客户端搜索结果。

一个例子可能是:如果有人通过邮件分享您的搜索结果会怎样?

这就是为什么所有关于应用程序状态的都应保留在url上: http://myapp.com/search?page=1&...

以这种方式构建您的应用程序浏览器的history.back btn完全符合您的要求。