编程语言
首页 > 编程语言> > javascript-使用UI-Router防止后退按钮上的状态更改

javascript-使用UI-Router防止后退按钮上的状态更改

作者:互联网

我的应用程序中有一个页面编辑器,如果有未保存的更改,当他们尝试离开时,我希望它提示用户进行保存.我设法涵盖了有关窗口重新加载和链接的基础,但是似乎无法阻止UI-Router通过单击后退/前进按钮来进行状态更改.

我正在尝试通过$stateChangeStart事件来执行此操作,并且不确定如何停止状态更改.我也尝试过$window.onpopstate,但这似乎比路由器落后了一步.

解决方法:

尝试这个:

$scope.$on('$stateChangeStart', function(event) {
    if ($scope.unsavedChanges) { //or however you check for unsaved changes
        event.preventDefault();
    }
});

标签:angularjs,angular-ui-router,javascript
来源: https://codeday.me/bug/20191027/1948397.html