2017-05-22 3 views
0

여기에 질문 : Angular Boostrap Modal Service 코드 예제를 제공하므로 다른 컨트롤러에서 모달을 열어야합니다. 나는 모달 표시를 할 수 있었다. 그러나 나는 ok 버튼을 취소하기 위해 고투하고있다. 내 코드는 여전히이 질문과 같습니다. 다른 컨트롤러에서 만들 수있는 모달이 필요하지만 설치 방법을 결정할 수 없습니다. 정말 도움이 될만한 점이 있습니다. 아직 Angular에 익숙하지 않습니다.앵귤러 부트 스트랩 ui 모달

StaffController에서 모달로드의 예

$scope.editmodal = function EditModal() { 
    var modalInstance = $uibModal.open({ 
    templateUrl: 'myModalContent.html', 
    scope: $scope, //passed current scope to the modal 
    size: 'sm', 
    closeButtonText: 'Close', 
    actionButtonText: 'OK' 
    }); 
}; 

모달의 코드라는 이름의 컨트롤러 내부 : ModalController (이 여기에 예를 포함 https://angular-ui.github.io/bootstrap/

감사합니다,

+0

다음과 같은 특성 모달의 옵션에서 설정하려고 했습니까? 'closeButtonText : 'Close', actionButtonText : 'OK', ' – quirimmo

+0

@quirimmo 예, 방금 시도했지만 아직 취소 버튼이 작동하지 않습니다. 다른 컨트롤러의 모달 인스턴스를 사용하여 모달을 표시하는 것이 맞습니까? –

+0

원하는 모든 장소에서 모달을 열 수 있습니다. 나는 개인적으로 서비스를 통해 그들을 열고 컨트롤러 내부에 관련 서비스를 주입하는 것을 선호합니다. 그래서 내 코드에서 ok 버튼이 작동하고 취소 버튼이 작동하지 않습니까? – quirimmo

답변

1

모달 선언 내에서 컨트롤러에 대한 참조가 누락되었습니다. 템플릿 내에서 $ctrl 머리말을 생략하거나 컨트롤러의 이름을 지정하는 controllerAs 속성 코드가 이와 같아야합니다.

HTML :

<button class="btn btn-primary" type="button" ng-click="ok()">OK</button> 
<button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button> 

JS는 :

$scope.editmodal = function EditModal() { 
    var modalInstance = $uibModal.open({ 
    templateUrl: 'myModalContent.html', 
    controller: 'ApiStaffController', 
    size: 'sm' 
    }) 
}; 
관련 문제