【发布时间】:2019-06-13 07:46:10
【问题描述】:
当用户点击浏览器后退按钮时,我想设置材质扩展面板/手风琴、材质选项卡的 UI 状态。
注意:我不想实现 redux 或 ngrx/store。
例如用例:
在当前页面上,我折叠了第二个扩展面板,然后导航到第四个选项卡。如果我点击离开该页面然后点击返回, 我希望那些特定的组件处于我留下的 UI 状态。
从该点开始,我每次单击后退或前进到某个点,如果存在这些组件来设置 UI 状态。
我知道 Material Expansion Panel 和 Material Tabs API 允许您设置折叠面板或活动选项卡,这个问题是您在前后导航以设置这些属性时如何记住状态。
你会使用服务吗? 我会使用路由器并设置查询参数吗?
任何你如何解决这个问题的建议都会很有帮助。
提前致谢。
【问题讨论】:
-
一些代码可能会有所帮助。但是您需要将某种状态管理附加到路由器。
-
@ritaj 我没有代码,但扩展面板和选项卡当前不保持其状态。您能否详细说明将状态附加到路由器的理论?
-
那些导航链接是路由器链接吗?如果是,您可以使用
[routerLinkActive]="what-ever-class-makes-them-look-active"。如果不是,您将在向后/向前导航时丢失状态。事实上,即使是 ngrx 也无法帮助您,因为整个应用程序会在后退/前进浏览器单击时重新启动。您必须将状态保存在存储中... -
@ritaj 还没有,您是否可以提供任何示例,您的建议听起来是我想要的。但不知道如何实现。
标签: angular user-interface angular-material