레몬블루
270
2015-09-24 18:14:57
2
1775

AngularJS ngResource 사용해서 db 갯수 구하기?



angular.module('userService', [])

.factory('postService', function($resource) {
    return $resource('/api/posts/:id', {id: '@_id'}
  })


위 팩토리를 사용하면 대부분 처리할 수 있던데...


postService.query() 를 하면 아래와 같이 나오구요


저기서 length 값을 scope 하고싶은데요.

단순히 postService.length 를 실행하면 db 갯수와 상관없이 '1' 이 나오더군요.


  $scope.post = function() {
    postService.query(function(data) {
      $rootScope.dbCount = data.length;
    });
    $scope.building.postNum = $rootScope.dbCount;

    postService.save($scope.building);
}

그래서 이렇게 변경해봤는데 db값을 가져오긴 하는거 같은데,

실행시마다 값이 불규칙하게 반영되더군요

쿼리쪽을 스킵하고 바로 db로 save 되기도 하구요.

두번에 한번정도는 제대로 db.length 값이 반영이 안됩니다.


뭔가 이상한거같은데 도움 부탁드립니다 ㅜㅜ



0
  • 답변 2

  • 푸르게
    558
    2015-09-24 18:21:31

    이렇게 해보세요.

     $scope.post = function() {
        postService.query().$promise.then(function (data) {
           $scope.building.postNum = data.length;
           postService.save($scope.building);
        });
    }


  • 레몬블루
    270
    2015-09-24 18:34:24

    이렇게 하는거군요 감사합니다

  • 로그인을 하시면 답변 을 등록할 수 있습니다.