2017-08-16 2 views
1

Ich habe keine Ahnung, warum, aber ich bin für AngularJS-Material mdDialog auf auszublenden unhandled rejection Fehler bekommen/AbbrechenAngularJS Werkstoff mdDialog und nicht behandelte Ablehnung auf ein Versprechen

-Code für die mdDialog:

$scope.addAttendee = function(ev) { 
    $mdDialog.show({ 
    controller: DialogController, 
    templateUrl: 'views/regForm.tmpl.html', 
    parent: angular.element(document.body), 
    targetEvent: ev, 
    clickOutsideToClose:true, 
    controllerAs: 'ctrl', 
    fullscreen: $scope.customFullscreen, // Only for -xs, -sm breakpoints. 
    locals: {parent: $scope} 
}) 
.then(function(response){ 
    if(angular.isDefined(response)){ 
     attendees.push(response); 
    } 

    console.log(attendees); 
    console.log(attendees.length); 
}) 

, wenn ich Wird ein Versprechen entfernt, kann das Dialogfeld ohne Fehlermeldung geschlossen werden.

Irgendwelche Ahnung, was ist damit los?

+2

‚unhandled Ablehnung‘ bedeutet, dass ein Versprechen abgelehnt wurde, aber der Fehler wurde nicht behandelt. Fügen Sie '.catch' hinzu, um herauszufinden, was der Fehler ist, und tun Sie dies jedes Mal, wenn die Möglichkeit besteht, dass ein Versprechen abgelehnt werden kann. – estus

+1

versuchen Sie, die Ablehnungsfunktion wie folgt hinzuzufügen: '.then (function (response) {}, function (reject) {//console.log(reject)})' um den Fehler zu sehen. –

+1

ich sehe mdDialog immer noch etwas kopfschmerz lol. Schöne Grüße. dude @JackTheKnife –

Antwort

0

Es kam, dass ich eine Funktion brauche, wenn es keine Änderungen (verstecken/abbrechen) für eine Zusage von mdDiaglog gibt.

-Code nach dem Update

$scope.addAttendee = function(ev) { 
    $mdDialog.show({ 
    controller: DialogController, 
    templateUrl: 'views/regForm.tmpl.html', 
    parent: angular.element(document.body), 
    targetEvent: ev, 
    clickOutsideToClose:true, 
    controllerAs: 'ctrl', 
    fullscreen: $scope.customFullscreen, // Only for -xs, -sm breakpoints. 
    locals: {parent: $scope} 
}) 
.then(
    function(response){ 
     if(angular.isDefined(response)){ 
      attendees.push(response); 

      console.log(attendees); 
      console.log(attendees.length); 
     } 
    }, 
    function(){ 
     //no changes 
    } 
) 
.catch(
    function(error) { 
     console.error('Error: ' + error); 
    } 
); 
Verwandte Themen