我有这段代码
unsavedChangesManager.clearLocationHandler = $scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
unsavedChangesManager.checkUnsavedChanges(function () {
unsavedChangesManager.clearLocationHandler();
$state.go(toState.name); // here I want to also append the toParams. However this param doesnt have a value.
});
event.preventDefault();
});
这里我试图拦截$stateChangeStart
事件以检查当前页面上是否有未保存的更改,如果是,请通知用户并根据用户偏好保留在页面上或更改状态。这里的问题是当事件被触发时,toState
参数有一个值,event
参数是undefined
,其他参数没有设置为任何东西。我想知道为什么。
我使用的是angularjs 1.2.28和ui-router 0.2.15。