2017-10-08 1 views
0

Scheint wie mein mdDialog Popup funktioniert nicht so, wie es sollte.Zurückgesandtes Versprechen von mdDialog funktioniert nicht

function() { 
    $mdDialog.show({ 
     templateUrl: 'CameraPopup.html', 
     clickOutsideToClose: true  
    }).then(function (answer){ //do something 

           //with answer 
})} 

Die Vorlage sieht wie folgt aus:

<md-dialog > 
<form> 
    <md-dialog-actions layout="column" > 
     <span flex></span> 
     <md-button ng-click="answer('camera')"> 
      Open Camera 
     </md-button> 
     <md-divider></md-divider> 
     <md-button ng-click="answer('gallery')"> 
      Open Gallery 
     </md-button> 
    </md-dialog-actions> 
</form></md-dialog> 

Ich weiß, dass das Problem in der Verheißung liegt es zurück, aber ich kann nicht verstehen, warum es nicht funktioniert.

Antwort

0

Fügen Sie einen Controller hinzu. Übergeben Sie diesen Controller an $mdDialog.show. Schreibe answer Methode in den Controller.

function() { 
     $mdDialog.show({ 
      controller: DialogController, 
      templateUrl: 'CameraPopup.html', 
      clickOutsideToClose: true  
      }).then(function (answer){ //do something with answer 
     }); 
    } 

-Controller

function DialogController($scope, $mdDialog) { 
    $scope.answer = function(answer) { 
     $mdDialog.hide(answer); 
    }; 
    } 
}); 
Verwandte Themen