2016-08-08 4 views
1

AngularUI's modal으로 작업 중이며, 모달을 닫을 때 내 컨트롤러의 변수을 변경하고 싶습니다. AngularUI의 모달을 닫았을 때 어떻게해야합니까?

<div class="modal fade" id="awesomeModal" role="dialog"> 
    ... 
    <button type"button" data-dismiss="modal">Close</button> 
</div> 

내가 모달의이 data-dismiss 함께 할 수있는 close 이벤트를 생각하지만, 나는이 특정 순간에 무언가를하는 방법을 아직 발견하지 않습니다 :

내 모달은 다음과 같습니다.


모달을 닫을 때 $scope.finished = true;을 설정하고 싶습니다.

나는 <button type"button" data-dismiss="modal" ng-click="finished = false>Close</button>과 같은 것을 할 수 있다는 것을 알고 있지만, 내 의견으로는 그것을 할 수있는 더 깨끗한 방법이 있습니다. 당신이 템플릿을 사용하여 모달 템플릿 인라인을주는 대신 할 수 원하는 경우, 또한

   var modalInstance = $uibModal.open({ 
        templateUrl: 'modules/alertTemplates/redirectToModal.html', 
        controller: 'redirectToController', 
        controllerAs: 'redirectToControllerVm', 
        keyboard: false 
        } 
       }); 

       modalInstance.result.then(function() { 
        // called when you close the modal 
        // do your stuff 
       }, function() { 
        // called when you dismiss modal by clicking anywhere outside modal 
        // do your stuff 
       }); 

: 당신이 $ uibModal에 대해 물어 때문에

+0

확인 문서'return' https://angular-ui.github.io/bootstrap/#/modal 구문은 $ modal.open ({ '이다/* params here * /}). result.then (function() {/ * logic here * /}); ' –

+0

나는 보았지만 실제로 어떻게 대처해야할지 모르겠다. 지금까지 저는 모달을 아주 간단하게 사용했습니다. 당신이 어떻게 작동하는지 알고 계신다면, 그것에 대한 자세한 설명을 답변으로 보내 주시면 감사하겠습니다 :) – Mistalis

답변

1

, 여기에 모달 close 이벤트를 캡처하는 데 사용할 수있는 이벤트입니다 templateUrl. 더 나은 설명은 다음 링크를 참조하여 모든 구문 : 아래

https://github.com/angular-ui/bootstrap/tree/master/src/modal/docs 
+0

이 자바 스크립트가 모두 필요한가요? 모달에 대한 템플릿을 사용하지 않기 때문에이 코드는 HTML 페이지에 직접 있습니다. 미안해, 어쩌면 어리석은 짓 일지 모르지만 나에게 아직도 불분명하다 ... : D – Mistalis

+0

ui bootstrap.js를 포함시킨 다음 컨트롤러에 $ uibModal을 주입해야한다. 링크를 참조하십시오. 데모 html과 js가 첨부되어 있습니다. –