使用嵌套json进行AngularJS ng-repeat

时间:2016-04-10 18:41:12

标签: angularjs json

我的json看起来如下

$scope.peoples = [people:{
    name: 'Mike ',
    age: 20
}, people:{
    name: 'Peter S ',
    age: 22
}];

注意:我无法更改json结构。

这是我的代码ng-repeat无法读取json

<div ng-controller="MyCtrl">
    <table class="table table-hover">
        <tr ng-repeat="p in peoples">
            <td> Name: {{ p.name }} &nbsp;</td>
            <td> Age: {{ p.age }} &nbsp;</td>
        </tr>
    </table>

</div>

var app = angular.module('myApp', []);

function MyCtrl($scope) {
    $scope.peoples = [people:{
        name: 'Mike ',
        age: 20
    }, people:{
        name: 'Peter S ',
        age: 22
    }];
}

1 个答案:

答案 0 :(得分:1)

看起来你的json数组定义错误:

$scope.peoples = [{
        name: 'Mike ',
        age: 20
    },{
        name: 'Peter S ',
        age: 22
    }];

注意没有人对象。你定义了没有对象的人。如果您修复了json,您的代码将正常工作。

这是使用json修复的工作代码:http://jsfiddle.net/Lvc0u55v/2236/

使用people对象修复现有代码的其他方法是,在javascript对象中移动人员,如下所示:

使用Javascript:

$scope.peoples = [{
    people : {
        name: 'Mike ',
        age: 20
    }},{
    people: {
        name: 'Peter S ',
        age: 22
    }}];

HTML:

  <td> Name: {{ p.people.name }} &nbsp;</td>
  <td> Age: {{ p.people.age }} &nbsp;</td>

这样你可以使用people对象。这是工作代码:http://jsfiddle.net/Lvc0u55v/2237/

总的来说,我建议使用第一种方法而不是第二种方法。