0

안녕하세요 저는 일부 URL 매개 변수를 기반으로 양식을 생성하고 해당 양식을 제출 한 후 몇 가지 조치가 수행되는 controllerA가 있습니다. 이제 다른 컨트롤러를 만들었습니다. B 버튼을 만들었습니다. 해당 버튼을 클릭하면 controllerA url을 iframe src로 포함하는 모델 팝업이 열립니다. 해당 모델 팝업에서 생성 된 양식을 볼 수 있습니다. 양식을 제출 한 후 모델 팝업을 닫아야합니다.다른 컨트롤러에서 부트 스트랩 모델 팝업 닫기

controllerA

- Contains some logic to generate form 

controllerB

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

내 질문에 어떻게 내가 양식을 제출 Afer 즉 그 모델을 닫을 수 있습니까?

코드 내가 양식을 제출하기위한 방법이 controllerA에서

$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(); 
    }; 

controllerB

에 포함 여기서

샘플 코드이다. 폼을 제출 한 후 controllerB에서 렌더링 된 위의 팝업을 어떻게 닫을 수 있습니까?

나는 희망을 갖고 정확하게 설명했다. 이 문제를 해결해주세요. 미리 감사드립니다.

답변

0

controllerA와 controllerB의 관계는 무엇입니까? controllerB 부모 컨트롤러 인 경우
, 당신은 controllerA에서 $scope.$emit('event:close')을 사용하고 사람들은 두 개의 서로 다른 컨트롤러가

$scope.$on('event:close',function(evt) { 
    $scope.showpopup.close(); 
}) 
+0

와 controllerB에서이 이벤트를 수신 할 수 있습니다. 기본적으로 팝업 시작은 버튼을 클릭하면 controllerB에서 시작됩니다. 해당 팝업에서 제출 단추가있는 양식을 보여줍니다. 팝업을 클릭 한 후 닫아야합니다. ControllerA는 데이터를 제출하기 위해 serivice 호출을 수행합니다. – user2451830

+0

부모로서 앱 컨트롤러가 있습니다. 이러한 컨트롤러 A와 컨트롤러 B는 하위 컨트롤러 인 – user2451830

+0

입니다. 컨트롤러 A에서 $ scope. $ emit을 사용하고 상위 컨트롤러에서 $ scope. $ on을 사용하여 부모 컨트롤러에서 $ scope. $ broadcast를 사용하여 이벤트를 전달할 수 있습니다. 컨트롤러 A,하지만 당신의 문제를 해결할 수있는 속성이 ui-bootstrap과 함께 사용하는 것이 좋습니다. [link] (https://angular-ui.github.io/bootstrap/#/modal) –

관련 문제