2016-04-10 114 views
-3

的json看起來像下面AngularJS NG-重複使用嵌套的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 
    }]; 
} 
+0

我不明白這個「**我不能改變json結構**」,如果你在控制檯'var a = [people:{name:'Mike', age:20 }人:{ 名稱: '彼得·S', 年齡:22 }]'你**未捕獲的SyntaxError:意外的標記:(...)**。這就像期待'如果x == 3> 4'工作,因爲你不能改變的if語句 –

回答

1

看起來你的JSON數組是錯誤的方式定義:

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

通知也沒有人反對。你定義了沒有對象的人。如果你修復你的JSON,你的代碼將會正常工作。

這裏是工作的代碼使用JSON修復:http://jsfiddle.net/Lvc0u55v/2236/

固定與人對象是對現有代碼的其他方式,您將在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> 

這樣你可以使用人物對象。這裏的工作代碼:http://jsfiddle.net/Lvc0u55v/2237/

總體而言,我會建議使用第一種方法,而不是第二個。

+0

我知道如果我刪除的人,然後它會工作。但在你的js小提琴中你沒有使用p.people.name。所以請在jsfiddle中使用它。 – Thomas

+0

看到你的小提琴http://jsfiddle.net/Lvc0u55v/2238/不工作時,我使用'p.people.name' – Thomas

+0

結帳第二方案: 你需要定義http://jsfiddle.net/Lvc0u55v/2237/人們在角度下重複理解。 – insomiac