提交模态时如何调用范围?

How can I call to scope when submit modal?

我在我的项目中使用 angular-ui-bootstrap 并使用 bootstrap 模态。但是当我提交时我的模式有问题我无法调用范围并且我收到错误“$scope.testAlert 不是函数

控制器:

$scope.open = function () {
        $uibModal.open({
            animation: $scope.animationsEnabled,
            templateUrl: 'userModal.html',
            controller: function ($scope, $uibModalInstance, user) {
                $scope.user = user;

                $scope.save = function () {

                    var editUser = userService.updateUser($scope.user);
                    editUser.then(function () {
                        getAllUsers();
                        $scope.testAlert();
                    })

                    $uibModalInstance.close();
                }
            },
            resolve: {
                user: function () {
                    return $scope.user;
                }
            }
        });
    }

$scope.testAlert = function () {
        alert("Blah blah");
    }

$scope.testAlert 在主控制器的 $scope 而不是模态控制器。你需要像这样移动它:

$scope.open = function() {
  $uibModal.open({
    animation: $scope.animationsEnabled,
    templateUrl: 'userModal.html',
    controller: function($scope, $uibModalInstance, user) {
      $scope.user = user;

      $scope.save = function() {

        var editUser = userService.updateUser($scope.user);
        editUser.then(function() {
          getAllUsers();
          $scope.testAlert();
        })

        $uibModalInstance.close();

        $scope.testAlert = function() {
          alert("Blah blah");
        }
      }
    },
    resolve: {
      user: function() {
        return $scope.user;
      }
    }
  });

}