[英]Angular ui-router: warn user when leaving a specific page
在我的角度应用程序中,我需要在用户离开 特定页面之前警告用户,而不是每个页面。
如果我在我要警告用户的页面控制器中使用$locationChangeStart
,它甚至会在到达页面时触发,这是不希望的。
如果我在父控制器上使用它,它将在任何地方触发,我必须添加复杂的if / else或switch结构,基本上告诉它永远不会触发,除非用户放弃该特定状态。
如何使用UI-Router检测用户是否实际离开 (并且仅离开)特定state
?
你应该使用一个事件(并在你自己的监听器上挂钩)
在州过渡开始时被解雇。 您可以使用
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.