简体   繁体   中英

Unable to send data from factory into angularJs modal

This is a follow-up question to Angular-ui modal, sending data into modal controller from $http

I have the following code where I want to get data via a factory to the modal.

$scope.docSetup = function() {

  var modalInstance = $modal.open({
     templateUrl : '/templates/dialog/docSetup.html',
     controller  : 'docSetupDlgCtrl',
     resolve     :  {
        dlgData : function(){
           return TagService.list($scope.publication.id);
        }
     }
  });
  modalInstance.result.then(function (dlgData) {

     $log.debug(dlgData);

  }, function () {
     $log.debug('Modal dismissed at: ' + new Date());
  });
};

And here is the factory:

app.factory("TagService", function($http, $log){
   return {
      list: function(selectedDoc){

         $log.info("Tag service at work => list");

         var httpPromise = $http.post("tags/list", { publicationId: selectedDoc });

         httpPromise.then(function (response) {

            $log.log(response.data);
            return response.data;

         }, function (error) {
            $log.error(error);
         });
      }
   }
});

The above isn't resolving any data into dlgData . The factory is producing data and if I hardcode the data object into the 'resolve' function, it passes it.

return the entire httpPromise as well:

return httpPromise.then(function (response) {
    $log.log(response.data);
    return response.data;

 }, function (error) {
    $log.error(error);
 });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM