Как работает angular "$ uibModalInstance.close(data)"?

Официальная документация AngularJS не содержит ничего, что описывает, как работает $uibModalInstance.close, в следующем фрагменте кода scope.close - это метод, используемый для закрытия модального окна и передачи объекта контроллеру вызывающего абонента

var app = angular.module('myApp');

app.controller('ModalController', ['$uibModalInstance', modalControllerFn]);

function modalControllerFn($uibModalInstance) {
    var scope = this;

    // some data object
    scope.data = {key1: "value1", key2: "value2"};

    scope.close = function() {
        $uibModalInstance.close(scope.data);
    }
}

Вопрос (1)

Проводит ли что-либо, принадлежащее к модальной области с помощью $uibModalInstance.close (нелитеральное значение, i.e: scope.x), предотвращает уничтожение мусорной коллекции angular от уничтожения всей модальной области? это сценарий для утечки памяти?

Вопрос (2)

Как работает angular $uibModalInstance.close(data)?

Ответ 1

Пожалуйста, посмотрите пример JavaScript на веб-сайте Angular UI Bootstrap здесь: Angular Модификация загрузочного файла UI

Прокрутите вниз немного и щелкните вкладку JavaScript, чтобы увидеть код.

Важная часть:

modalInstance.result.then(function (selectedItem) {
  $scope.selected = selectedItem;
}, function () {
  $log.info('Modal dismissed at: ' + new Date());
});

Выше, переменная selectedItem - это то, что передается:

$uibModalInstance.close(rightHereGetsPassedAsResult)