Как скрыть / показать тот же модальный экземпляр с AngularJS?

В настоящее время я использую angular-ui-bootstrap $ modal для отображения диалогового окна, которое позволяет пользователю искать и выбирать файл. Список файлов получен с box.com, поэтому я использую API-интерфейс box для поиска файлов и создания миниатюры для отображения рядом с каждым файлом в результате поиска.

Создание эскизов происходит довольно медленно, и пользователю необходимо несколько раз вызывать это диалоговое окно поиска на одной и той же странице. Поэтому было бы полезно для пользователя, если диалоговое окно поиска будет содержать предыдущие результаты поиска при повторном открытии.

Вопрос в том, как я могу повторно использовать (т.е. показывать / скрывать) один и тот же модальный экземпляр? Кажется, Angular-UI уничтожает / воссоздает диалог каждый раз. То же самое с угловым ремешком.

редактировать

ВотPlunkr:

var app = angular.module('plunker', ['ui.bootstrap']);
var ModalDemoCtrl = function($scope, $modal, $log) {

  $scope.open = function() {

    var modalInstance = $modal.open({
      templateUrl: 'myModalContent.html',
      controller: ModalInstanceCtrl,

    });

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

// Please note that $modalInstance represents a modal window (instance) dependency.
// It is not the same as the $modal service used above.

var ModalInstanceCtrl = function($scope, $modalInstance) {

  $scope.friends = [{
    name: 'John',
    phone: '555-1276'
  }, {
    name: 'Mary',
    phone: '800-BIG-MARY'
  }, {
    name: 'Mike',
    phone: '555-4321'
  }, {
    name: 'Adam',
    phone: '555-5678'
  }, {
    name: 'Julie',
    phone: '555-8765'
  }, {
    name: 'Juliette',
    phone: '555-5678'
  }];

  $scope.ok = function() {
    $modalInstance.close('close');
  };

  $scope.cancel = function() {
    $modalInstance.dismiss('cancel');
  };

};

Ответы на вопрос(5)

Ваш ответ на вопрос