我有一个类似表单的页面,其中包含一些数据.并且当用户单击浏览器返回按钮时想要显示弹出窗口/提醒,询问“是否要返回或保持在同一页面”.我使用angular-ui-router的$stateProvider,并希望将其绑定到一个状态/视图.
这是我以前的一些其他问题的答案,但是应该是很好的帮助你
您可以通过使用角度$routeChangeStart来实现
$routeChangeStart
在路线更换之前广播.此时,路由服务开始解决发生路由更改所需的所有依赖关系.通常这涉及获取视图模板以及在resolve route属性中定义的任何依赖关系.一旦所有的依赖关系被解析$routeChangeSuccess被触发.
可以通过调用事件的preventDefault方法来阻止路由更改(以及触发它的$位置更改).有关事件对象的更多详细信息,请参阅$rootScope.Scope.
所以请尝试下面的代码.
$scope.$on('$routeChangeStart',function (scope,next,current) { if (next.$$route.controller != "Your Controller Name") { // Show here for your model,and do what you need** $("#yourModel").show(); } });
更新:
您需要在模型弹出窗口中编写您的功能性工作.喜欢
放一些链接按钮
你确定去上一页吗?
>你想保留当前页吗?
>你想注销吗?等等
然后添加点击事件进入前一页,保持当前页使用返回false等.
有感觉吗?