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

时间:2015-09-06 16:39:08

标签: javascript angularjs angularjs-scope angular-ui-router single-page-application

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

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

我想出了几个选择:

  1. 使用对话框显示第二页(项目详细信息),以便他们可以关闭该模式并返回上一个表单而不做任何更改。
  2. 使用URL中的参数将用户重定向到第二页,然后使用该参数返回它们,以了解它们之前的页码。
  3. 全局保存一些关键变量以存储控制器状态,并在用户返回时使用它们。
  4. 但我认为应该有更好的想法,例如在重定向期间保持控制器的状态。

    任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

  
      
  1. 使用URL中的参数将用户重定向到第二页,然后使用该参数返回它们,以了解它们之前的页码。
  2.   

我更喜欢这个,因为当您进行页面刷新时,您可以获得第20页的额外好处。选项1和3不会给您带来额外的好处。路径参数也是书签友好的。

另一个让你研究的另一个选择就是localstorage 或饼干。我不认为这些选项比你的2更好。