Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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 ngRepeat使用angularjs中的数组对象进行迭代_Javascript_Arrays_Angularjs_Angular1.6 - Fatal编程技术网

Javascript ngRepeat使用angularjs中的数组对象进行迭代

Javascript ngRepeat使用angularjs中的数组对象进行迭代,javascript,arrays,angularjs,angular1.6,Javascript,Arrays,Angularjs,Angular1.6,我试图弄清楚如何使用ngrepeat迭代数组 如果我有一个如下的数据数组 { "People": [{ "name": "Andrew Amernante", "rating": 3, }, { "name": "Frank Wang", "rating": 5, }, { "name": "Chang Wang", "rating": 5, } ] } 在控制器中,我有这些

我试图弄清楚如何使用ngrepeat迭代数组

如果我有一个如下的数据数组

{
  "People": [{
      "name": "Andrew Amernante",
      "rating": 3,
    },
    {
      "name": "Frank Wang",
      "rating": 5,
    },
    {
      "name": "Chang Wang",
      "rating": 5,
    }
  ]
}
在控制器中,我有这些代码片段

app.controller('mainController', function($scope, $http) {
  $http.get('people.json').
  then(function onSuccess(response) {
    console.log(response);
    $scope.peoples = response.data;

  }).
  catch(function onError(response) {
    console.log(response);
  });
});
我想迭代数组并在列表中显示三个名称

<ul class="nav">
  <li ng-repeat="obj.peoples track by $index">
    <a href="#/">{{obj.name}}</a>
  </li>
</ul>
但是,我找不到名字,你知道吗

仅供参考-我在这里使用Angular 1.6.5版本


在这里编码两件事,用javscript

 $scope.peoples = response.data.People;
在ng中,它应该是

ng-repeat="people in peoples track by $index"

它是script.js中的人物,您正在html中使用obj

$http.get('people.json').
        then(function onSuccess(response) {
            console.log(response);
            $scope.peoples = response.data;

        }).
将您的html更改为以下代码

<li class="active" ng-repeat="item in peoples.People">
       <a href="#/">{{item.name}}<span class="glyphicon glyphicon-play"></span></a>
 </li>

您需要修复HTML代码

与ng repeat=obj.peoples按$index跟踪不同,它应该是ng repeat=obj in peoples.People按$index跟踪

见下面的演示

角度。模块'app',[] .controller'mainController',函数$scope,$http{ //模拟,相当于“$scope.peoples=response.data”` $scope.peoples={ 人民:[{ 姓名:安德鲁·阿默南特, 评级:3, }, { 姓名:Frank Wang, 评级:5, }, { 姓名:常旺, 评级:5, } ] }; };
这也将work@UI_Dev,谢谢你的回复,这是正确的答案吗?在这种情况下,我如何在这里使用单页应用程序?如果我们有不同的动态列表集,我们可以使用这个迭代,如果我们在所有的动态列表中都有相同的键,那么我可以在这里使用单页应用程序吗?如果我们有不同的动态list@UI_Dev你已经在使用Angular的单页应用程序了,不是吗?如果我们有一组不同的动态列表,你是什么意思?这是我更新的plunkr,我无法在两者之间切换templates@UI_Dev我认为您试图错误地使用ng view。也许你想阅读,以学习如何正确使用它?@UI\u Dev这是一个全新的问题,你可能想在另一个问题中提问。这样,更多的人可以帮助你,因为我的答案中的这条线索只有你和我才能看到。