我是角色4的新手。我在一个页面中有多个标签,当我从一个标签切换到另一个标签或其他导航栏时,我的要求是提供一个弹出对话框,询问"你确定移动?"当我按下确定时,它应该转到所需的tab / nav(最后点击的url),否则它应该保持在同一页面。
我使用了CanDeactivateGuard,在我将标签/开关留到其他导航栏{ path: 'exception/:id', component: LpExceptionComponent , canDeactivate: [CanDeactivateGuard]}
之前弹出对话框
现在我不确定如何在按下确定按钮时重定向到所需的标签? 我将如何获得最后点击的网址?
答案 0 :(得分:1)
您可能甚至不需要知道网址。您可以从canDeactivate函数返回一个promise,一旦用户单击ok,您就可以将promise解析为true并自动继续转换。如果您更喜欢承诺,也支持Observable。
但是如果你确实需要知道用户试图去的状态,那么它是作为canDeactivate函数的第四个参数提供的(前三个参数是component,currentRoute和currentState)