作为html页面
<div class="posts" ng-repeat="s in news" ng-init="moreNews()">
{{s.news}}
</div>
<input type="button" value="get data" onclick="moreNews()"/>
在控制器
$scope.moreNews = function () {
$http.get("test?p=" + $scope.pno)
.then(function (response) {
console.log(response);
$scope.news = response.data.news;
$scope.pno++;
}, function (data) {
alert("Oops! Unable to get data from server")
});
};
这里我从服务器获取数据并显示到html页面。这里的第一个响应是正确显示数据。但是对于第二个响应,它会覆盖我想要将下一个数据添加到第一个数据之下的数据,因此只有一个。
如何在现有数据下方附加列表?
答案 0 :(得分:3)
$scope.moreNews = function () {
$http.get("test?p=" + $scope.pno)
.then(function (response) {
console.log(response);
for(var i=0;i<response.data.news.length;i++){
$scope.news.push(response.data.news[i]);
}
$scope.pno++;
}, function (data) {
alert("Oops! Unable to get data from server")
});
};
答案 1 :(得分:2)
试试这段代码
$scope.moreNews = function () {
$http.get("test?p=" + $scope.pno)
.then(function (response) {
console.log(response);
$scope.news=$scope.news.concat(response.data.news);
$scope.pno++;
}, function (data) {
alert("Oops! Unable to get data from server")
});
};
答案 2 :(得分:1)
$scope.news = [];
$scope.moreNews = function () {
$http.get("test?p=" + $scope.pno)
.then(function (response) {
$scope.news.push(response.data.news);
$scope.pno++;
}, function (data) {
alert("Oops! Unable to get data from server")
});
};
push()方法 - 将一个或多个元素添加到同一数组的末尾。