我有一个带有一些数据的类似表单的页面。并希望在用户单击浏览器后退按钮时显示弹出窗口/警告,询问“他们是否要返回或停留在同一页面上”。我正在使用angular- ui-router,$stateProvider并且只想将此绑定到一个状态/视图。
$stateProvider
这是我之前对其他问题的回答,但对您有所帮助
您可以通过使用角度来做到这一点 $routeChangeStart
$routeChangeStart
在更改路线之前广播。此时,路由服务开始解决发生路由更改所需的所有依赖关系。通常,这涉及获取视图模板以及在resolve route属性中定义的所有依赖项。解决所有依赖关系后,将触发$ routeChangeSuccess。
$location可以通过调用preventDefault事件的方法来防止路由更改(及其触发更改)。$rootScope.Scope有关事件对象的更多详细信息,请参见。
$location
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(); } });
您需要在模型弹出窗口中编写功能性工作。喜欢
放置一些链接按钮
然后为进入上一页添加ng-click事件,使用return false等等保持当前页面。
return false
有感觉的家伙吗?