Закрыть всплывающее окно загрузки модели с другого контроллера
Привет, у меня есть 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();
})