用UI-Router防止返回按钮上的状态改变
Prevent state change on back button with UI-Router
有一个页面编辑器在我的应用程序,我希望它提示用户保存,如果他们试图导航离开时,有未保存的更改。我设法覆盖了我的基础,关于窗口重新加载和链接,但我似乎无法阻止UI-Router参与状态变化与后退/前进按钮点击。
我正试图从$stateChangeStart
事件中做到这一点,我有点不确定如何停止状态变化。我也尝试过$window.onpopstate
,但它似乎比路由器落后一步。
试试这个:
$scope.$on('$stateChangeStart', function(event) {
if ($scope.unsavedChanges) { //or however you check for unsaved changes
event.preventDefault();
}
});
相关文章:
- 当使用$state时,ui-router中的双状态改变.进入$stateChangeStart
- React组件在状态改变后不重新呈现
- AngularJS ui-router,滚动到状态改变的下一步
- 当父组件状态改变时,如何强制子组件重新呈现
- 在一个选项卡的状态改变后,Onsen选项卡没有正确更新
- 在处理之前,AngularJS的ui-router状态改变事件是否可以被捕获?
- 在redux状态改变后处理不纯的DOM操作
- React:在状态改变后获取initialstate
- 承诺数据在路由状态改变时不呈现
- 当ui-router状态改变时,清除AngularJS共享控制器变量
- 如何用history.js捕获一次状态改变事件
- 用UI-Router防止返回按钮上的状态改变
- $ionicPopup在后台状态改变时中断
- React JS -当localStorage状态改变时,获得一个单独的组件来重新渲染
- 当状态改变时,组件无法重新呈现
- React状态改变不是渲染
- AngularJS监听状态改变事件
- componentWillReceiveProps在状态改变时被调用
- Angular UI Router:在状态改变时保持同级视图
- 使用React.js一段时间后状态改变