Tia*_*ago 7 javascript angularjs angular-ui-router
在我的角度应用程序,我需要他之前警告用户离开一个特定的网页,而不是每一个页面.
如果我$locationChangeStart在页面的控制器中使用我要警告用户的内容,即使进入页面也会触发,这是不希望的.
如果我在父控制器上使用它,它将在任何地方触发,我必须添加复杂的if/else或switch结构,基本上告诉它永远不会触发,除非用户放弃该特定状态.
如何检测用户实际离开(并且仅离开)特定的stateUI-Router?
您应该使用一个事件(并挂在您自己的监听器上)
状态转换开始时触发。您可以使用
event.preventDefault()来防止发生过渡,然后过渡承诺将被拒绝并带有“防止过渡”值。...
例:
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
event.preventDefault();
// transitionTo() promise will be rejected with
// a 'transition prevented' error
})
Run Code Online (Sandbox Code Playgroud)
此问答中有详细的说明和有效的插件:
| 归档时间: |
|
| 查看次数: |
4730 次 |
| 最近记录: |