검색을 많이하지 않습니다. 여기에 비슷한 스레드가 하나 있지만 꽤 잘 작동하지 않습니다.AngularModalService : 컨트롤러에 데이터 전달
예제는 모달이 별도의 컨트롤러를 얻는 것을 보여줍니다. 이런 모습입니다.
var app = angular.module('myApp', ['ngSanitize','angularModalService']);
app.controller('SampleController', ['$scope', function($scope) {
$scope.showAlert = function() {
ModalService.showModal({
templateUrl: "alertWindow.html",
controller: "AlertController",
inputs: {
title: "Add New Alert",
}
}).then(function(modal) {
modal.element.modal();
modal.close.then(function(result) {
$scope.result = "blah";
});
});
});
}]);
app.controller('AlertController', ['$scope', function($scope) {
$scope.close = function(result) {
close(result, 500);
};
}]);
주의해야 할 점은 모달 대화 상자에 모달 대화 상자에 SampleController에있는 몇 가지 기본값이 있어야한다는 것입니다. 나는 서비스에 관해 읽었지 만, 나는 그것이 여기서 일한다고 생각하지 않는다. 입력 : showModal()의 {}는 의심스러워 보이지만 모달 창이 표시되면 어디에서 가져올 것인지 정확히 모르겠습니다. 다른 예제에서는 간단한 예/아니오 버튼이나 텍스트 입력을 빈 기본값으로 가져 왔습니다.
우선 구문 오류가있는 것 같습니다. 컨트롤러를 정의 할 때 닫는 대괄호 ']'가 없습니다. 또한 $ scope.showAlert는 SampleController 안에 없습니다. – 12hys
맞아요. 머리를 가져 주셔서 고마워요. 편집 됨. 그러나 이것은 컨트롤러에서 분명히 볼 수있는 것보다 더 많은 일이 일어나고 있기 때문에 가독성을 위해 창에서 편집하는 중이었습니다. 그래서, 제 문제는 여전히 있습니다. 적어도 코드는 이제 더 읽기 쉬워야합니다. –
SampleController에 ModalService 종속성을 포함하지 않습니다. 어디서나 ModalService를 정의 할 수 있습니까? – 12hys