繁体   English   中英

Angular ui-router:离开特定页面时警告用户

[英]Angular ui-router: warn user when leaving a specific page

在我的角度应用程序中,我需要在用户离开 特定页面之前警告用户,而不是每个页面。

如果我在我要警告用户的页面控制器中使用$locationChangeStart ,它甚至会在到达页面时触发,这是不希望的。

如果我在父控制器上使用它,它将在任何地方触发,我必须添加复杂的if / else或switch结构,基本上告诉它永远不会触发,除非用户放弃该特定状态。

如何使用UI-Router检测用户是否实际离开 (并且仅离开)特定state

你应该使用一个事件(并在你自己的监听器上挂钩)

$ stateChangeStart

在州过渡开始时被解雇。 您可以使用event.preventDefault()来阻止转换发生,然后转换保证将被拒绝并带有“转换阻止”值。

...

例:

$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
    event.preventDefault();
    // transitionTo() promise will be rejected with
    // a 'transition prevented' error
})

本问答中有详细解释和工作内容:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM