Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS-JSON数据不在ng repeat中显示,但在控制台日志中显示_Json_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

AngularJS-JSON数据不在ng repeat中显示,但在控制台日志中显示

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

我很难通过API调用显示JSON数据,但如果控制台记录响应,我就能看到响应

我的应用程序是这样构建的

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>

Your
getMoreData
函数始终返回前十首歌曲。是的,当我搜索曲目时,它应该显示前十首歌曲,然后当我调用该函数时,它应该再添加10首。奇怪的是,当我将每页的结果限制为30首时,它就工作了。它好像无法处理100多个结果。那么,你在做什么是否真正看到页面上显示的内容?如果我将结果限制在100以下,则我会看到我想要的内容。如果我尝试查看,则它不会在ng repeat div中显示任何内容,但我仍然可以看到它在控制台日志中被提取并被推到arrayYour
getMoreData
函数始终返回前十首歌曲。是的,当我搜索时对于曲目,它应该显示前十首歌曲,然后当我调用该函数时,它应该再添加10首。奇怪的是,当我将每页的结果限制在30首时,它就工作了。它好像无法处理超过100首的结果。那么你在页面上实际看到了什么?如果我将结果限制在100首以下,那么我会看到我想要的结果。如果我试着检查一下,然后它不会显示ng repeat div中的任何内容,但我仍然可以看到它被提取到控制台日志中并被推到阵列中,这似乎没有任何好处,而且我不想限制结果。我希望所有的结果都显示出来,无论它们是10还是15.000。好吧,没错,没有正确地阅读这篇文章:)检查这个似乎没有任何好处的答案,此外,我不想限制结果。我希望所有结果显示它们是10还是15.000。好的,没错,没有正确阅读:)检查这个答案