2016-11-27 4 views
0

내 AngularJS 1 (+ Ionic) 응용 프로그램은 다양한 유형의 데이터 (Employee, Company ...)를 처리하며 각 유형 및보기마다 하나의 컨트롤러가 있습니다.

현재 컨트롤러 간에는 동일한 코드가 많이 있습니다. 예를 들어 확인을 위해 모달 대화 상자가있는 항목을 삭제하는 데 사용되는 코드가 있습니다.

이 코드를 하나의 함수 또는 서비스에 포함 시키려합니다. 각 컨트롤러에서 호출 할 것이지만이 코드는 $ scope, $ ionicModal 및 $ ionicHistory를 사용하므로 어떻게해야할지 모르겠습니다.

진행 방법을 알려주십시오. 많은 감사합니다!

$ionicModal.fromTemplateUrl("templates/delete-modal.html", { 
    scope: $scope 
}).then(function(modal) { 
    $scope.modal = modal; 
    $scope.text = "Delete entity?"; 
}); 

$scope.delete = function() { 
    $scope.modal.show(); 
} 
$scope.doDelete = function() { 
    $scope.modal.hide(); 
    databaseService.remove($scope.entity); 
    $ionicHistory.goBack(-2); 
} 
$scope.doCancel = function() { 
    $scope.modal.hide(); 
} 

답변

1

이 경우 서비스 방법에 $scope을 전달할 수 있습니다. $ionicModal$ionicHistory을 주입해야합니다.

$ionicModal$ionicHistory을 삽입하는 서비스를 만드십시오. 인수로 $scope을 가져와 서비스에서 메소드를 정의했습니다.

각 컨트롤러에서 서비스 메서드의 해당 기능에 $scope을 전달합니다.

+0

대단히 감사합니다. – bfredo123