2017-08-28 1 views
1

Wie kann ich ein Modal in einem Modal öffnen? Ich folgte diesem plnkr, aber ich habe einen Fehler, wenn ich den Bestätigungsknopf des zweiten modalen klicke. Dies ist der Fehler:Angular Bootstrap Modal in einem Modal

Error: [$injector:unpr]

Dies ist meine erste modale

$scope.edit = function(data) { 
     var modalInstance = $uibModal.open({ 
      templateUrl: "/wp-content/themes/copywriter-theme/angular-modal-template/management_modal.html", 
      controller: 'managementModal', 
      resolve: { 
       items: function() { 
        return data; 
       } 
      } 
     }); 
} 

Das ist mein 2. modal ist

angular.module(['ui.bootstrap']).controller('managementModal',['$scope','$http','$uibModalInstance','$uibModal','items',function($scope, $http, $uibModalInstance, $uibModal, items){ 
    $scope.names = items; 
    $scope.editable = items; 

    $scope.cancel = function(){ 
     $uibModalInstance.dismiss('cancel'); 
     location.reload(); 
    }; 

    $scope.confirm = function(){ 
     console.log("clicked"); 
     $uibModalInstance.close($scope.editable); 
    } 

    $scope.update = function(){ 
     var template_modal = "<div class='modal-body'>" + 
           "<button type='button' class='close' ng-click='confirm()'>update</button>" + 
           "<button type='button' class='close' ng-click='cancel()'>cancel</button>" + 
          "</div>"; 
     var modalInstance = $uibModal.open({ 
      template: template_modal, 
      controller: 'managementModal' 
     }); 
    }; 
}]); 

So ist der erste modal in einem anderen Controller ist, während der zweite modale innen des Controllers managementModal. Aber in PLNKR ist es in Ordnung, klicken Sie auf den Button und seine Arbeit Ich weiß nicht, warum meine Taste auf meinem zweiten modalen nicht funktionieren

+0

ist es auf dem Entwicklungs env arbeiten, oder Sie getestet nach minify es –

+0

wenn weiter in Plunker funktioniert - wir Ihnen nicht helfen können. Suche nach einem Problem in Ihrem Projekt –

+0

@MaximShoustin Nö nicht funktioniert in meiner Entwicklung –

Antwort

0

Ich habe es die Antwort ist, ich muss erneut die items deklarieren, so in meinem zweiten modal dies sollte der Code

$scope.update = function(){ 
     var template_modal = "<div class='modal-body'>" + 
           "<button type='button' class='close' ng-click='confirm()'>update</button>" + 
           "<button type='button' class='close' ng-click='cancel()'>cancel</button>" + 
          "</div>"; 
     var modalInstance = $uibModal.open({ 
      template: template_modal, 
      controller: 'managementModal', 
      //added code 
      resolve: { 
       items: function() { 
        return items; 
       } 
      } 
     }); 
    };