google feed api一次获得10个条目,加载下一个

时间:2015-08-26 05:14:26

标签: angularjs rss google-feed-api

我正在使用google feed api创建一个rss阅读器,但我不希望所有数据预先我想要10个条目,当用户点击加载更多我想加载下一个10等等。

我正在使用的代码获取所有条目,在文档中我无法弄清楚如何实现这一目标。

http://ajax.googleapis.com/ajax/services/feed/load?v=2.0&q=http://rss.cnn.com/rss/cnn_topstories.rss&num=5
 .factory('rssReader', ['$http', function($http) {
return $http.get('URL_HERE')
.success(function(data) {
  alert("SUCCESS!!!" + data);//return data;
})
.error(function(data) {
  alert("FAILED!!!!" + data);//return data;
 });
}]);

这可能吗?

是否有其他api提供此功能?

1 个答案:

答案 0 :(得分:0)

试试这个:)



var app = angular.module('myApp', []);
app.controller('rssCtrl', function($scope, $http, $sce) {
  var rssUrl = 'http://rss.cnn.com/rss/cnn_topstories.rss',
    num = 10;

  function getFeed() {
      $http.jsonp('https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=' + num + '&q=' + rssUrl + '&callback=JSON_CALLBACK')
        .success(function(data) {
          $scope.entries = data.responseData.feed.entries;
        });
    }
    //init call
  getFeed();

  $scope.to_trusted = function(html_code) {
    return $sce.trustAsHtml(html_code);
  }
  $scope.more = function() {
    num += 10;
    getFeed();
  }
});

<div ng-app="myApp" ng-controller="rssCtrl">
  <div ng-repeat="entry in entries">
    <h2><a href="{{entry.link}}">{{entry.title}}</a></h2>
    <p ng-bind-html="to_trusted(entry.content)"></p>
  </div>
  <button ng-click="more()">Load more</button>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
&#13;
&#13;
&#13;