在Angular Apps中集成后退按钮行为之类的本地应用程序的最佳方法

时间:2019-09-23 09:59:26

标签: angular angular-material angular-routing angular-router angular-router-guards

在使用本机移动应用程序时,我们可以观察到一种常见的行为,即在应用程序中打开对话框,打开菜单,打开选择列表时;然后在手机上按返回按钮,将关闭对话框,打开的菜单或打开的选择列表。

我正在尝试为使用Angular Material组件的Angular应用实现相同的行为。

我想做的是每当用户按下后退按钮时,它都会检查一次,是否有打开的对话框,打开的菜单或打开的选择列表,然后将其关闭并取消导航,以便用户停留在同一页面上。类似地,可能会有一个自定义的内联组件(例如内联表单),当用户在保持同一页面的同时按下“后退”按钮时,我想关闭它。

我在针对角度和非角度应用程序的堆栈溢出中看到了与此相关的不同问题,其中大多数都有一些hacks。

我想知道什么是最好的方法。我认为可以通过路由器防护实现这一目标,但是我不知道如何在整个应用程序中实现这一目标。我的意思是观察属于防护中特定组件的打开的对话框/菜单/选择列表等。

0 个答案:

没有答案