Angularjs 我怎么能不';t触发$stateChangeStart,以角度为单位?
如果我这样写:Angularjs 我怎么能不';t触发$stateChangeStart,以角度为单位?,angularjs,routes,angular-ui-router,Angularjs,Routes,Angular Ui Router,如果我这样写: $scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { if ($scope.isChanged) { myShowOkCancelDialog(NotifyType.Warn, 'do you want leave?', function (ok) { if (ok) {
$scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if ($scope.isChanged) {
myShowOkCancelDialog(NotifyType.Warn, 'do you want leave?', function (ok) {
if (ok) {
$state.go(toState, toParams);
}
})
event.preventDefault();
}
});
它将始终询问“确定”或“取消”,我不想使用$窗口。确认:
$scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if ($scope.isChanged) {
var isjump = confirm('do you want leave?');
if (!isjump) {
event.preventDefault();
}
}
});
我想如果用户想离开,您需要重置$scope.isChanged
。然后,当您调用$state.go()
时,条件不会导致出现警告
$scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if ($scope.isChanged) {
myShowOkCancelDialog(NotifyType.Warn, 'do you want leave?', function (ok) {
if (ok) {
$scope.isChanged = false;
// $stateChangeStart will not enter `if` now
$state.go(toState, toParams);
}
})
event.preventDefault();
}
});
我想如果用户想离开,您需要重置$scope.isChanged
。然后,当您调用$state.go()
时,条件不会导致出现警告
$scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if ($scope.isChanged) {
myShowOkCancelDialog(NotifyType.Warn, 'do you want leave?', function (ok) {
if (ok) {
$scope.isChanged = false;
// $stateChangeStart will not enter `if` now
$state.go(toState, toParams);
}
})
event.preventDefault();
}
});
不可验证,请提供包含您正在使用的特定服务的提琴或插销。不可验证,请提供包含您正在使用的特定服务的提琴或插销