Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
Javascript ng repeat只给出一个结果_Javascript_Json_Angularjs - Fatal编程技术网

Javascript ng repeat只给出一个结果

Javascript ng repeat只给出一个结果,javascript,json,angularjs,Javascript,Json,Angularjs,我正在使用AngularJs阅读itunesapi。我想在中获得所有结果,但到目前为止,我只得到了第一个结果: <div class="container" ng-controller="appController"> <div class="item" ng-repeat="chart in charts"> <h2>{{chart.entry[$index]['im:name'].label}}</h2> </div> 正

我正在使用
AngularJs
阅读
itunesapi
。我想在
中获得所有结果,但到目前为止,我只得到了第一个结果:

<div class="container" ng-controller="appController">
<div class="item" ng-repeat="chart in charts">
    <h2>{{chart.entry[$index]['im:name'].label}}</h2>
</div>
正在加载JSON文件:

app.factory('charts', ['$http', function($http) {
  return $http.get('https://itunes.apple.com/us/rss/topsongs/limit=100/json')
         .success(function(data) {
           return data;
         })
         .error(function(data) {
           return data;
         });
}]);
尝试将其更改为

<div class="container" ng-controller="appController">
<div class="item" ng-repeat="chart in charts">
    <div class="item" ng-repeat="entry in chart.entry">
        <h2>{{entry['im:name'].label}}</h2>
    </div>
</div>

{{entry['im:name'].label}
尝试将其更改为

<div class="container" ng-controller="appController">
<div class="item" ng-repeat="chart in charts">
    <div class="item" ng-repeat="entry in chart.entry">
        <h2>{{entry['im:name'].label}}</h2>
    </div>
</div>

{{entry['im:name'].label}

根据您的JSON结构,您试图循环查看
图表
,但它不是一个数组,它只是一个具有名为
entry
的数组的对象,该数组包含所有条目。所以你应该改变你的想法

<div class="item" ng-repeat="chart in charts">
    <h2>{{chart.entry[$index]['im:name'].label}}</h2>
</div>

{{chart.entry[$index]['im:name'].label}


{{entry['im:name'].label}

根据您的JSON结构,您试图循环查看
图表
,但它不是一个数组,它只是一个具有名为
entry
的数组的对象,该数组包含所有条目。所以你应该改变你的想法

<div class="item" ng-repeat="chart in charts">
    <h2>{{chart.entry[$index]['im:name'].label}}</h2>
</div>

{{chart.entry[$index]['im:name'].label}


{{entry['im:name'].label}

我想您应该重复charts.feed.entry

<div class="item" ng-repeat="entry in charts.feed.entry">
    <h2>{{entry['im:name'].label}}</h2>
</div>
相当于:

charts.feed.entry[$index]['im:name'].label

我想你应该重复charts.feed.entry

<div class="item" ng-repeat="entry in charts.feed.entry">
    <h2>{{entry['im:name'].label}}</h2>
</div>
相当于:

charts.feed.entry[$index]['im:name'].label


谢谢,这更有道理。这是错误的。尝试查看由Yup返回的JSON。。我已经更新了我的答案,但我对OP的陈述有点困惑,即
图表。条目[0]
对他有效。谢谢,这更有意义。这是错误的。尝试查看由Yup返回的JSON。。我已经更新了我的答案,但我对OP的陈述有点困惑,即
chart.entry[0]
对他有效谢谢,这个答案之所以有效是因为结构正确。@Greg,所以
charts.feed.entry
对你有效,而不是
charts.entry
?您说您已经能够使用
{chart.entry[$index]['im:name'].label}}
:-)访问
im:name
。@Arkantos chart.entry有效,因为ng repeat正在将charts.feed分配给chart。@JamesBrierley。。你说得对+1为了在你的答案中澄清这一点,谢谢,这个答案之所以有效是因为结构正确。@Greg,所以
charts.feed.entry
对你有效,而不是
charts.entry
?您说您已经能够使用
{chart.entry[$index]['im:name'].label}}
:-)访问
im:name
。@Arkantos chart.entry有效,因为ng repeat正在将charts.feed分配给chart。@JamesBrierley。。你说得对+感谢您在回答中澄清这一点。谢谢,由于结构错误(chart.feed.entry),它没有起作用,但您的思维方式是正确的,不用担心。很高兴你把问题解决了。干杯谢谢,由于结构(chart.feed.entry)错误,它无法工作,但您的想法是正确的,不用担心。很高兴你把问题解决了。干杯