angularjs - AngularJS 中的 window.onbeforeunload 等价于路由

标签 angularjs

常规 JavaScript 有 window.onbeforeunload。如何使用 HTML5 路由在 AngularJS 中模拟相同的内容?

有 $beforeRouteChange,但据我所知,它不允许您取消事件。

澄清一下:window.onbeforeunload 适用于离开页面导航,但不适用于页面内导航,例如仅通过 HTML5 历史 API 从一个 Controller 到另一个 Controller 。

最佳答案

有一个$locationChangeStart可以取消的事件。

由于尚未记录,这里是描述它如何影响 $route 的单元测试。服务。
https://github.com/angular/angular.js/blob/v1.0.1/test/ng/routeSpec.js#L63

这不会为 window.onbeforeunload 之类的用户提供确认信息。做。您需要带上自己的对话服务并重新启动位置更改过程以获得相同的效果(或者您可以只使用同步的 $window.confirm )。

关于angularjs - AngularJS 中的 window.onbeforeunload 等价于路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11777890/

相关文章:

javascript - AngularJS ng-repeat 示例不起作用

javascript - 除了 ng-view 页面加载之外

javascript - 使用当前日期生成一周的所有日期,还显示周一的周开始日期和周日的周末

angularjs - Angular 引导模态 Controller 不起作用

html - 带有 AngularJS 的 Jquery UI 对话框

javascript - AngularJS 服务取决于第二个服务的资源

angularjs - 自定义行为 - 切换类 - 弹出框 - Angular UI Bootstrap

javascript - 密码字段从密码中删除 '/' 字符

javascript - 如何在 Html 的下拉菜单中访问匹配的数据?

angularjs - 如何在 ngRepeat 中突出显示选定的行?