我正在使用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提供此功能?
答案 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;