2014-01-09 2 views
-1

$ http 또는 $ resource를 사용하여 데이터를 검색 할 때 문제가 발생하여 성공적으로 검색하고 뷰에 바인딩 할 때 데이터를 클라이언트에 전달하지만 바인딩하지는 않습니다 보기. //보기http 요청에서 약속을 사용하여

<div class="pull-left span6" > 

<h3>{{Name}}</h3> 

<ul> 
    <li ng-repeat="type in typeList"> 
     <span>{{type.Title}}</span> 
    </li> 
</ul> 

// 컨트롤러

var proxyControllers = angular.module('httpProxyControllers', []); 

proxyControllers.controller('TypeListController', 
function TypeListController($scope, typeListData) { 
    $scope.Name = 'Type List Addresses'; 
    $scope.typeList = typeListData.getTypeList(); 

    $scope.typeList.then(function(data){ 
     console.log('data received'); 
     console.log(data); 
    },function(status){ 
     console.log(status); 
    }); 
}); 

// 서비스

var proxyServices = angular.module('httpProxyServices', ['ngResource']); 


proxyServices.factory('typeListData' , function($http, $q){ 
    return{ 
     getTypeList : function(){ 
      var deferred = $q.defer(); 
      $http({method : 'GET' , url: '/data/getTypeList'}) 
       .success(function(data, status, headers, config){ 
        deferred.resolve(data); 
       }) 
       .error(function(data, status, headers, config){ 
        deferred.reject(status); 
       }); 

      return deferred.promise; 
     } 
    } 
}); 

컨트롤러의 다음 블록에서 내가 로그 데이터 : 여기 내 코드입니다 콘솔로 돌아 가면 데이터가 성공적으로 반환되지만 아무 일도 일어나지 않습니다. 내 견해와 내 견해는 실제로 아무것도 보이지 않습니다. 사전에

덕분에,

답변

0

당신은 data 하이

//initialize with empty array 
$scope.typeList = []; 

typeListData.getTypeList().then(function(data){ 

    //initialize with received data 
    $scope.typeList = data; 

    console.log('data received'); 
    console.log(data); 
},function(status){ 
    console.log(status); 
}); 
+0

$scope.typeList에, 당신의 빠른 답장을 보내 주셔서 감사합니다, 당신의 대답은 정확 할당해야합니다. 그러나, 내가 데이터를받은 블럭에 typeList를 설정할 필요가 있다면 콜백 메소드를 보내고 약속을 사용하지 않으면 어떤 차이가 있습니까? 그리고 제가 생각하기에 비디오에서 그는 실제로 그 당시의 방법을 사용하지 않았고, 약속은보기에 묶여있을 것이라고 말했고 데모에서는 잘 작동한다고 언급했습니다. 다시 한 번 감사드립니다. 자습서에있는 – ali

+0

에서 $ http가 아닌 $ resourse를 사용하고있을 가능성이 높습니다. –

+0

@ali, 죄송합니다 언젠가는 오프라인 상태였습니다. @MohammadSepahvand에 동의합니다. 아마'$ http'를 결코 사용한 적이 없으므로'$ http '가 아닌'$ resourse'를 사용하는 것을 보았을 것입니다. – Satpal

관련 문제