【问题标题】:How to restore filtered state in angular controller when using back button?使用后退按钮时如何在角度控制器中恢复过滤状态?
【发布时间】:2016-07-28 12:16:55
【问题描述】:

我有一个角度视图,其中包含项目列表和页面顶部的一组选项以过滤项目。用户可以单击一个项目来查看该项目的详细信息页面。我正在使用 ui-router。

当用户在详细信息上并单击其后退按钮时,它会返回到列表,但过滤器选项会重置为默认值。过滤器太复杂,无法在 URL 中编码,所以我想知道:处理这个问题的最佳方法是什么?到目前为止,我的谷歌搜索似乎表明本地存储,但我不知道这是否过度设计它,因为我不想一直保持状态,只是为了历史的目的(如果他们导航到列表以任何其他方式,我想要默认值)。我还是 Angular 的新手,所以想在我进入兔子洞之前检查一下 SO 是否有内置机制。

【问题讨论】:

  • 使用服务存储过滤器设置

标签: javascript angularjs angular-ui-router


【解决方案1】:

在更改路由时使用 $cacheFactory 而不是 localstorage 来存储过滤器(假设详情页面在同一个 Angular 应用上)

【讨论】:

  • 查看文档,这似乎是处理存储的最简单方法;但是我如何确定用户是否通过点击后退按钮和点击菜单链接进入状态?
  • 你可以检测用户是否点击了返回按钮here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
  • 2021-01-10
  • 1970-01-01
相关资源
最近更新 更多