2016-09-12 4 views
0

다른 부모 컨트롤러가있는 동일한 모달 창을 사용하려는 경우 모달 컨트롤러의 유일한 차이점은 Ctrl-1-Factory.getServerFiles과 같은 별도의 팩토리입니다. 비슷하게 Ctrl2에 대한 모달 채우기시 Ctrl-2-Factory을 호출하려고합니다. 당신은 서비스 방법을 포장 할 수여러 컨트롤러에 부트 스트랩 모달을 사용하는 방법은 무엇입니까?

$scope.modalInstance = $uibModal.open({ 
     templateUrl: '/web/global/modal.html', 
      controller:'ModalController' 
     }); 

답변

0

ModalCtrl.js

angular.module('App').controller('ServerFilesCtrl', function($scope, $rootScope, FileSaver, $uibModalInstance, Ctrl-1-Factory, $uibModal) { 
    'use strict'; 
    $scope.cancel = function() { 
     $uibModalInstance.close(); 
    } 
    Ctrl-1-Factory.getServerFiles().then(function(response) { 
     $scope.data = response.data; 
     console.log($scope.data); 
    }); 
}); 

Ctrl 키 1.js

$scope.modalInstance = $uibModal.open({ 
     templateUrl: '/web/global/modal.html', 
      controller:'ModalController' 
     }); 

Ctrl 키 2.js. 당신의 응답 someEventFunction에, 내가 모달 컨트롤러에서 다른 이벤트를 사용할

+0

더 강력하게 필요에 따라 인수에

angular.module('App').factory('FilesModal', function() { return { openModal: openModal }; function openModal() { return $uibModal.open({ templateUrl: '/web/global/modal.html', controller: 'ModalController' }); } }); angular.module('App').controller('Ctrl1', function(FilesModal) { $scope.someEventFunction = someEventFunction; function someEventFunction() { $scope.modalInstance = FilesModal.openModal(); } }); 

패스는 부모 컨트롤러에 있습니다. – hussain

+0

이 더 구체적이어야합니다. 당신이 뭘 원하는지 완전히 명확하지 않습니다. – charlietfl

+0

데이터가 다르기 때문에 동일한 모달에 대해 다른 공장의 데이터를 채우기를 원하기 때문에 제 질문에서 언급 한 것처럼 다른 상태 나 컨트롤러에 대해 동일한 모달을 사용하고 싶습니다. – hussain

관련 문제