我们如何使用$transitions
取消状态更改来提示用户保存?以前的 ui-router 版本曾经event
在回调中有一个,可以用 停止event.preventDefault()
,但这个事件似乎已经消失了。
我在我的控制器中使用此代码:
var onTransitionStartOff = $transitions.onStart({}, function($transitions)
{
if ($scope.itemTracker.hasChanged()) {
$scope.itemTracker.askExitConfirm().then(function () {
onTransitionStartOff();
var toState = $transitions.$to();
$state.go(toState);
}, function () {});
return $q.reject(null);
}
onTransitionStartOff();
});
它工作得很好,但由于被拒绝的承诺,它在控制台中留下了一条错误消息。
我看了一下stateService.ts,但没有看到一些有趣的东西......