Change $scope.posts to $scope.data.posts to resolve the issue with watch