2014-03-29 2 views
0

엄청난 Restangular 라이브러리를 실험하고 있는데 일부 JSON 개체를 반환하고 $ scope 개체에 바인딩하려고 할 때 문제가 발생했습니다.AngularJS : Restangular 라이브러리

본 기능은 본질적으로 Restangular.getList() 함수를 사용하여 블로그 목록을 반환하는 My Factory 스크립트 내에 있습니다.

angular.module("ecmaworld").factory("Authenticate", function(Restangular) { 
// Testing Function 
var Blogs = Restangular.all("blogs"); 
return { 
    blogs: function() { 
     Blogs.getList("blogs").then(function(blogs) { 
      return blogs; 
     }, function(error) { 
      console.log(error); 
     }); 
    } 
};}); 

여기의 팩토리 메소드는 블로그 게시물의 목록을 반환합니다. 나는 다음과 같은 내 컨트롤러 스크립트 중 하나를 나는 공장 스크립트에 정의 ahve이 함수를 호출하고 사용을 시도 : 나는 루프에 "데이터 NG 반복"지시문을 사용하려고

angular.module("ecmaworld").controller("LoginController", function($scope, Authenticate) { 

//Testing function 
$scope.getBlogs = function() { 
    $scope.blogs = Authenticate.blogs(); 
}; 
}); 

모든 블로그 게시물을 통해 나는 아무것도 표시하지 않습니다. HTTP 응답이 JSON 객체를 반환하기 때문에 teh API 메소드가 Google 개발자를 통해 작동하는 것을 볼 수 있습니다. 그러나 VIEW에서 루프를 돌릴 때 표시되지 않는 이유는 확실하지 않습니다. 당신이 저를 도와주십시오 수 있다면, 그것은 많이 감사 할 것입니다. 나는 Angular에만 익숙해 졌으니 까.

감사합니다.

답변

1
blogs() 방법은 약속을 반환해야

...

blogs: function() { 
    return Blogs.getList("blogs").then(function(blogs) { 
     return blogs; 
    }, function(error) { 
     console.log(error); 
    }); 
} 

그리고 약속이 해결되면 다음 범위 속성에 결과를 할당 ...

$scope.getBlogs = function() { 
    Authenticate.blogs().then(function (blogs) { 
     $scope.blogs = blogs; 
    }); 
}; 
+0

우수! 이것은 나를 위해 지금 일 해왔다. 내가 아무것도 돌려주지 않는다는 것이 내 마음을 완전히 미끄러 뜨렸다. '약속'이 정확히 무엇인지 설명해 주시겠습니까? – Maff

관련 문제