如何获取网址只需点击确认弹出窗口有角度4

时间:2017-12-06 13:35:22

标签: javascript angular angular-ui-router

我是角色4的新手。我在一个页面中有多个标签,当我从一个标签切换到另一个标签或其他导航栏时,我的要求是提供一个弹出对话框,询问"你确定移动?"当我按下确定时,它应该转到所需的tab / nav(最后点击的url),否则它应该保持在同一页面。

我使用了CanDeactivateGuard,在我将标签/开关留到其他导航栏{ path: 'exception/:id', component: LpExceptionComponent , canDeactivate: [CanDeactivateGuard]}之前弹出对话框

现在我不确定如何在按下确定按钮时重定向到所需的标签? 我将如何获得最后点击的网址?

1 个答案:

答案 0 :(得分:1)

您可能甚至不需要知道网址。您可以从canDeactivate函数返回一个promise,一旦用户单击ok,您就可以将promise解析为true并自动继续转换。如果您更喜欢承诺,也支持Observable。

但是如果你确实需要知道用户试图去的状态,那么它是作为canDeactivate函数的第四个参数提供的(前三个参数是component,currentRoute和currentState)

请参阅此处的文档:https://angular.io/api/router/CanDeactivate