2016-08-10 3 views
0

저는 이것을 꽤 오랫동안 사용했습니다. 내 서비스가 예상대로 데이터를 가져 오지 않았기 때문에 작동하지 않았습니다. 하지만 내 컨트롤러에 $http 요청을 넣으면 제대로 작동합니다.Angular.JS 서비스가 작동하지 않습니다.

(function(){ 

    function controlProvider($http) { 
     this.getStatus = function (callback){ 
      $http.get("http://localhost:8080/getStatus") 
       .success(function (data) { 
        callback(data); 
       }); 
     }; 

    } 
    controlApp.service('controlProvider', controlProvider); 


    function controlController ($scope,controlProvider){ 
     controlProvider.getStatus = (function (product) { 

       $scope.product = product; 
     }); 
    } 
    controlApp.controller("controlController", controlController); 

    })(); 

도움을 주시면 대단히 감사하겠습니다. 고맙습니다.

+0

콜백을하는 방법은 각도를 어기는 것입니다. 당신은 귀하의 서비스를 컨트롤러에 전화를해야합니다 서비스에 제공하지 않는 기능을 – ssbb

+0

안녕하세요 ssbb, 귀하의 의견에 대한 thx, 서비스 부분은 잘 작동합니다. 방금 아래 코드를 변경하여 모든 문제가 해결되었습니다. –

답변

1
//maybe like this ? 
controlProvider.getStatus(function(product) { 
    $scope.product = product; 
}) 
+0

그레이트 Thx !!! 그것은 작동합니다. 왜 제가 이전 코드가 작동하지 않는지 설명해 주시겠습니까? –

+0

@LeongSzeKim controlProvider.getStatus no call이 지정된 새 함수를 넣습니다. like'contrilProvider.getStatus = function (product) {...};' – godtail

+0

당신이 의미하는 바를 얻습니다. 정말 고마워요. –

관련 문제