【发布时间】:2026-02-16 19:50:02
【问题描述】:
我们如何使用$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();
});
效果很好,但由于 promise 被拒绝,它会在控制台中留下错误消息。
查看了stateService.ts,但没有看到一些有趣的东西……
【问题讨论】:
-
在*.com/questions/39931983/…查看我的建议
标签: javascript angularjs angular-ui-router transitions angularjs-1.6