如何恢复angular控制器的先前状态
How to restore previous state of angular controllers
我需要保持控制器的状态在角,为改善一些用户体验,在用户访问不同的页面。
例如,我有一个列表,这是通过指令创建的,它有一个分页部分,所以想象一下,当用户去到第20页并选择一个项目时,他们将被重定向到详细页面,但是当他们点击返回按钮并返回到上一页时,他们看到的是列表的第一页,这是不方便的,他们希望再次进入第20页。
我想到了几个选项:
- 使用对话框显示第二页(项目详细信息),因此他们可以关闭该模式并返回到前一个表单,而无需任何更改。
- 将用户重定向到带有URL参数的第二页,然后返回该参数,以了解他们之前的页码。
- 全局保留一些关键变量来存储控制器状态,并在用户返回时使用它们。
但是我认为应该有更好的想法,比如在重定向期间保持控制器的状态。
有任何想法都很感激。
- 将用户重定向到带有URL参数的第二页,然后返回该参数,以了解他们之前的页码。
我更喜欢这样,因为当您进行页面刷新时,您可以获得停留在第20页的额外好处。选项1和3没有给你这个额外的好处。路径参数也是书签友好的。
另一个可供您研究的几乎同样好的选择是localstorage或甜点。我认为这些选项并不比你的2个好。
相关文章:
- 如何声明具有相同控制器的处于相同状态的多个模板
- 作用域变量未从状态父控制器继承到子控制器
- 在角度上不同控制器之间共享状态
- 更改控制器中ng重复中定义的变量的状态
- 如何将值与$scope绑定,以从定义状态ui路由器的控制器中使用ng模型进行查看
- AngularJS:控制器在使用UI路由器更改状态时多次注册
- Ember JS中控制器之间共享状态的正确方式
- UI 路由器 AngularJS 控制器无法使用状态
- 使用工厂时控制器/模板不共享相同的状态
- 如何在路由更改之间维护视图(控制器)状态
- 将状态参数传递给状态提供程序中设置的控制器
- AngularJS:使用不同的控制器保持不同视图之间的视图状态
- Jquery 序列化 :尝试在不提交表单的情况下将表单状态传递给 ASP.NET MVC 控制器
- HTTP 状态 500 - ..IllegalArgumentException:当我在 spring 控制器中使用 R
- 从服务器加载 html 和控制器并创建动态状态 UI - 路由器
- 如何在状态管理器视图控制器中传递已解析的依赖项
- 加载子状态时修改父控制器状态
- UI 路由器:更改状态时调用旧控制器
- 使用Angular ui路由器基于状态参数的负载控制器
- 刷新页面时保存控制器状态