如何恢复angular控制器的先前状态

How to restore previous state of angular controllers

本文关键字:控制器 状态 angular 何恢复 恢复      更新时间:2023-09-26

我需要保持控制器的状态在角,为改善一些用户体验,在用户访问不同的页面。

例如,我有一个列表,这是通过指令创建的,它有一个分页部分,所以想象一下,当用户去到第20页并选择一个项目时,他们将被重定向到详细页面,但是当他们点击返回按钮并返回到上一页时,他们看到的是列表的第一页,这是不方便的,他们希望再次进入第20页。

我想到了几个选项:

  1. 使用对话框显示第二页(项目详细信息),因此他们可以关闭该模式并返回到前一个表单,而无需任何更改。
  2. 将用户重定向到带有URL参数的第二页,然后返回该参数,以了解他们之前的页码。
  3. 全局保留一些关键变量来存储控制器状态,并在用户返回时使用它们。

但是我认为应该有更好的想法,比如在重定向期间保持控制器的状态。

有任何想法都很感激。

  • 将用户重定向到带有URL参数的第二页,然后返回该参数,以了解他们之前的页码。
  • 我更喜欢这样,因为当您进行页面刷新时,您可以获得停留在第20页的额外好处。选项1和3没有给你这个额外的好处。路径参数也是书签友好的。

    另一个可供您研究的几乎同样好的选择是localstorage或甜点。我认为这些选项并不比你的2个好。