2015-07-02 3 views
1

У меня есть немного проблем, как создание бесконечного прокрутки в angularjs из файла JSON, созданного на внешнем сайте. Мне нужно то, что бесконечный прокрутки вызывается, когда элемент переменных столбцов равен 10, снова вызывает мою функцию, увеличивая +1 в URL-адресе, меняя страницу. Следуйте код:бесконечный свиток из внешнего json в angularjs

$scope.posts = []; 
    $scope.doRefresh = function(){ 
     JsonNews.getBlogs($scope); 
     $scope.$broadcast('scroll.refreshComplete'); 
    } 
$page = 0; 
    function JsonNews($http, $log){ 
     $page++; 
     $urlInfinite = "http://plantaojti.com.br/noticias/page/"+ $page +"/?feed=json&callback=JSON_CALLBACK"; 
     this.getBlogs = function($scope){ 
      $http.jsonp($urlInfinite).success(function(data){ 
       $scope.posts = data; 
       for (var i = 0; i < $scope.posts.length; i++) { 
        this.posts.push(posts[i].data); 
       } 
       AppCtrl.$scope.doRefresh($scope); 
      }); 
     } 
    } 

В HTML:

<div infinite-scroll='JsonNews()' inite-scroll-distance='1'> 
     <ion-item data-ng-repeat="item in posts | filter: query" class="item-thumbnail-left item-text-wrap item-icon-right" href="window.open('{{item.permalink}}', '_system', 'location=yes'"> 
        <img class="thumb-noticia" data-ng-src="{{item.thumbnail}}"> 
        <h2> {{item.title}} </h2> 
        <p>{{item.excerpt | limitTo: 100}}...</p> 
     </ion-item> 
</div> 
+0

Если это специальная директива, отправьте код директивы. Если это плагин, поделитесь ссылкой. – jme11

ответ

0

я мог бы решить ... Я помечать Ионный в HTML, см:

<ion-infinite-scroll on-infinite="loadMore()" distance="80%"></ion-infinite-scroll> 

И с небольшой функция, я решил проблему ...

$scope.loadMore = function(){ 
     JsonNews.getBlogs($scope); 
     $scope.$broadcast('scroll.infiniteScrollComplete'); 
    } 
function JsonNews($http, $scope, $log){ 
    this.getBlogs = function($scope){ 
    $urlInfinite = "http://plantaojti.com.br/noticias/page/"+ $page + "/?feed=json&callback=JSON_CALLBACK"; 
    $page++; 
    $http.jsonp($urlInfinite).success(function(data){ 
     $scope.posts = $scope.posts.concat(data); 
    }); 
    } 
} 
Смежные вопросы