AngularJS-JSON数据不在ng repeat中显示,但在控制台日志中显示
我很难通过API调用显示JSON数据,但如果控制台记录响应,我就能看到响应 我的应用程序是这样构建的AngularJS-JSON数据不在ng repeat中显示,但在控制台日志中显示,json,angularjs,angularjs-ng-repeat,Json,Angularjs,Angularjs Ng Repeat,我很难通过API调用显示JSON数据,但如果控制台记录响应,我就能看到响应 我的应用程序是这样构建的 angular.module('myApp', ['angularSoundManager', 'infinite-scroll']) .controller('MovieController', function($scope, $http){ $scope.songs = []; $scope.data = $scope.songs.slice(0, 20); $scope.getMore
angular.module('myApp', ['angularSoundManager', 'infinite-scroll'])
.controller('MovieController', function($scope, $http){
$scope.songs = [];
$scope.data = $scope.songs.slice(0, 20);
$scope.getMoreData = function () {
$scope.data = $scope.songs.slice(0, $scope.data.length + 10);
};
函数获取数据
function fetch(){
$http.get("http://www.someAPI.com" + $scope.search + "&perpage=150")
.success(function(response){
$scope.details = response;
console.log(response);
// for loop happens here to loop through the data and push it to the empty array
for(var i=0; i < response.tracks.length; i++){
var allTracks = {
title: response.tracks[i].primary_title,
};
};
$scope.songs.push(allTracks);
}
函数fetch(){
$http.get(“http://www.someAPI.com“+$scope.search+”&perpage=150”)
.成功(功能(响应){
$scope.details=响应;
控制台日志(响应);
//for循环在这里循环数据并将其推送到空数组
对于(var i=0;i
我的HTML是
<div infinite-scroll='getMoreData()' infinite-scroll-distance='1'>
<div ng-repeat="song in data">
{{song.title}}
</div>
</div>
{{song.title}
我可以查看我是否获得了对象{ID:0,tracks:Array[150],total:257}
另一方面,如果我改用ng repeat=“song in songs”
,我可以显示我的数据。这与我将$scope.data
分配给$scope.songs
我想让它与切片一起工作的原因是能够使用无限滚动,因为我可以在我的页面上预期100到15000个结果尝试使用
angular.copy(source,destination);
试用
angular.copy(source,destination);
您可以通过将限制设置为:100来限制ng重复
<div ng-repeat="s in song" | limitTo:100">
{{s.title}}
</div>
您可以通过将限制设置为:100来限制ng重复
<div ng-repeat="s in song" | limitTo:100">
{{s.title}}
</div>
YourgetMoreData
函数始终返回前十首歌曲。是的,当我搜索曲目时,它应该显示前十首歌曲,然后当我调用该函数时,它应该再添加10首。奇怪的是,当我将每页的结果限制为30首时,它就工作了。它好像无法处理100多个结果。那么,你在做什么是否真正看到页面上显示的内容?如果我将结果限制在100以下,则我会看到我想要的内容。如果我尝试查看,则它不会在ng repeat div中显示任何内容,但我仍然可以看到它在控制台日志中被提取并被推到arrayYourgetMoreData
函数始终返回前十首歌曲。是的,当我搜索时对于曲目,它应该显示前十首歌曲,然后当我调用该函数时,它应该再添加10首。奇怪的是,当我将每页的结果限制在30首时,它就工作了。它好像无法处理超过100首的结果。那么你在页面上实际看到了什么?如果我将结果限制在100首以下,那么我会看到我想要的结果。如果我试着检查一下,然后它不会显示ng repeat div中的任何内容,但我仍然可以看到它被提取到控制台日志中并被推到阵列中,这似乎没有任何好处,而且我不想限制结果。我希望所有的结果都显示出来,无论它们是10还是15.000。好吧,没错,没有正确地阅读这篇文章:)检查这个似乎没有任何好处的答案,此外,我不想限制结果。我希望所有结果显示它们是10还是15.000。好的,没错,没有正确阅读:)检查这个答案