Закрыть всплывающее окно загрузки модели с другого контроллера

Привет, у меня есть controllerA, который генерирует форму, основанную на некоторых параметрах URL, и после отправки этой формы некоторые действия будут выполнены. Теперь я создал еще один контроллер B и в этом я создал кнопку. после нажатия на эту кнопку откроется одно всплывающее окно модели, содержащее URL контроллера A в виде iframe src. В этой модели всплывающего окна я могу видеть сгенерированную форму. После отправки этой формы я должен закрыть всплывающее окно модели.

controllerA

  - Contains some logic to generate form

controllerB

  - Contains a model popup with embed iframe. iframe src as controllerA URL

Вот мой вопрос Как я могу закрыть эту модель после отправки формы?

Вот пример кода:

этот код содержится в controllerB

  $scope.addmemPopup = function() {
        $scope.showpopup = $modal.open({
            templateUrl: 'addmem.tpl.html',
            size: 'lg',
            backdrop: 'static',
            keyboard: false,
            windowClass: 'add-mem'
        });
  }

  $scope.getIframeurl = function() {
        return '#/genmem/?mem_id='+$scope.mem.id+'&z_id=' + $scope.mem.zip;
  };
  $scope.hidePopup = function() {
        $scope.showpopup .close();
  };

В controllerA у меня есть способ отправить форму. после отправки формы, как я могу закрыть вышеупомянутое всплывающее окно, которое отображается из controllerB.

Я надеюсь, я правильно объяснил. пожалуйста, помогите мне в решении этого. Заранее спасибо.

1 ответ

Каковы отношения между контроллером A и контроллером B?
если controllerB является родительским контроллером, вы можете использовать $scope.$emit('event:close') в controllerA и получить это событие в controllerB с

$scope.$on('event:close',function(evt) {
   $scope.showpopup.close();
})
Другие вопросы по тегам