无法将数据从工厂发送到angularJs模态

时间:2015-07-13 20:54:08

标签: javascript angularjs

这是Angular-ui modal, sending data into modal controller from $http

的后续问题

我有以下代码,我希望通过factory将数据传输到模态。

$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());
  });
};

这是工厂:

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);
         });
      }
   }
});

以上内容并未将任何数据解析为dlgData。工厂正在生成数据,如果我将数据对象硬编码到“解决方案”中。功能,它通过它。

1 个答案:

答案 0 :(得分:2)

return整个httpPromise

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

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