我正在开发一个具有某些表单的系统,每个表单都位于 angularjs ui-router 的状态路由上。
我的需求是,如果当前表单有一些更改,并且用户尝试更改为另一种状态而不保存,系统将显示一条确认消息,如javascript的confirm
。结果类似于多页面应用程序上的 window.onbeforeunload
。
有人有办法做到这一点吗?
PS:我认为显示代码不会有帮助,但如果您需要,请添加一些评论..
最佳答案
是的,您可以对象 $stateChangeStart 来拦截状态更改,并在触发 stateChange 的事件上使用 PreventDefault 来阻止状态更改(如有必要)。这里有一个很好的解决方案: Using $state methods with $stateChangeStart toState and fromState in Angular ui-router
关于javascript - Angular 窗口.onbeforeunload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32970496/