Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 我怎么能不';t触发$stateChangeStart,以角度为单位?_Angularjs_Routes_Angular Ui Router - Fatal编程技术网

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();
    }
});

不可验证,请提供包含您正在使用的特定服务的提琴或插销。不可验证,请提供包含您正在使用的特定服务的提琴或插销