2017-03-04 3 views
2

Angular Boostrap modal nicht aktualisieren Tabelle, wenn $scope.test() Aufruf von ng-click-Ereignis, es Tabelle aktualisieren, aber von (Funktion zum Schließen modal) es wird nicht aktualisiert.Angular Boostrap modal nicht aktualisieren Tabelle

$scope.modalInstance = $uibModal.open({ 
        animation : false, 
        scope : $scope, 
        size : 'lg', 
        controller : 'myCtrl', 
        templateUrl : '/showAdjustmentUI' 

        }); 

$scope.test= function() { 
$http.get('/myurl/getById/' + $scope.id). 
success(function(data) { 
$scope.patData = data; 
}); 
} 

$scope.closeAdjustmentModal = function() { 
$scope.test(); 
$scope.modalInstance.dismiss(); 
} 

Antwort

0

Wie ich in Ihrem Code zu sehen, versuchen Sie, Ihre maincontroller Methode test von Ihrem modalcontroller zu nennen.

Für diese Art von Szenario können Sie closed.then Rückruf verwenden, um die test Funktion aufzurufen.

var modalInstance = $uibModal.open({ 
    animation : false, 
       scope : $scope, 
       size : 'lg', 
       controller : 'myCtrl', 
       templateUrl : '/showAdjustmentUI' 
}).closed.then(function(){ 
    $scope.test(); 
}); 
+0

Also können Sie diesen 'closed.then' Callback nicht verwenden, um Ihre' test' Methode aufzurufen? – DilumN

+0

Beide sind im selben Controller 'myCtrl'. Tatsächlich wird test() auch aufgerufen, wenn $ scope.closeAdjustmentModal() aufgerufen wird, wenn ich eine Warnung nach dem Erfolg einbleiche, aber $ scope.patData nicht an die UI binden kann –

+0

Dann ist das ein Problem mit Ihren Daten Bindung. Bearbeiten Sie Ihre Antwort auch mit dem HTML-Code – DilumN

Verwandte Themen