【发布时间】:2017-10-10 04:13:27
【问题描述】:
我必须在路由上添加验证。当用户尝试从一个页面重定向到另一个页面时,我必须检查是否有任何未保存的更改。如果是,则显示模式以确认重定向,否则用户将停留在同一页面上。
我曾尝试使用 canActivate,但它仅在用户加载应用而不是内部路由时触发。
我正在寻找一种集中式解决方案,因为路由可以从控制器、视图或 href 完成。
为此,我订阅了 router.events,我可以在其中捕获所有路由事件。现在我只是想要一种阻止路由的方法并显示模式并跟踪或上次路由,以便如果用户单击确定,那么我可以继续路由。
如果它是 NavigationStart 事件,那么我必须根据条件中断路由。
请建议有没有办法做到这一点。
我必须检查应用程序中发生的每个路由。
【问题讨论】:
标签: angular validation routing angular2-routing