2016-06-08 5 views
0

i mein Winkel Service und Controller haben, muss ich die Daten zwischen Dienst zu übergeben Reglerwert für voucher_code zu bekommenPass Winkeldaten zwischen Dienst an die Steuerung

Angular Service:

myApp.service('tradeData', function ($http) { 
var service ={}; 
var voucher_code; 
service.postTrade = function(trade){ 
    console.log(trade) 
    console.log("TEST") 
    var promise = $http.post('tradein', trade); 

    promise. 
    then(function successCallback(response) { 
     angular.extend(trade, response.tradeData); 
     //console.log("======="+response.data) 

    voucher_code = JSON.stringify(response.data.voucher_code, null, 4); // (Optional) beautiful indented output. 
    console.log("test123",voucher_code); 
     return voucher_code; 

     }, function errorCallback(response) { 
     // called asynchronously if an error occurs 
     // or server returns response with an error status. 
     }); 

    return promise; 
}; 
return service; 

}) 

Angular Controller:

myApp.controller('ModalInstanceCtrl', function($scope, $uibModalInstance, items, PersonalInfoService, tradeData) { 
$scope.cancel = function() { 
    $uibModalInstance.dismiss('cancel'); 
} 
$scope.personal = PersonalInfoService; 
$scope.printToCart = function(printSectionId) { 
    var innerContents = document.getElementById(printSectionId).innerHTML; 
    var popupWinindow = window.open('', '_blank', 'width=550,height=700,scrollbars=no,menubar=no,toolbar=no,location=no,status=no,titlebar=no'); 
    popupWinindow.document.open(); 
    popupWinindow.document.write('<html><head><link rel="stylesheet" type="text/css" href="css/print.css" media="screen, print" /></head><body onload="window.print()">' + innerContents + '</html>'); 
    popupWinindow.document.close(); 
} 

$scope.Product = tradeData; 
console.log("sfsdff" , tradeData.voucher_code); 
// console.log("santo", voucher_code); 
// console.log("santo", service); 
}) 

Jede Idee, die Werte von voucher_code aus dem Dienst zu übergeben an die Steuerung

Antwort

0

verwenden in Ihrem Controller:

tradeData.postTrade().then(function(voucher_code) { 
    $scope.voucher_code = voucher_code; 
)}; 

postTrade Methode gibt das Versprechen. So können Sie die Daten verwenden, die es zurückgibt (mit aufgelöst werden), indem Sie die Methode then verwenden.