2014-11-13 4 views
0

나는 NG 반복을 사용하여 표시해야 여러 수준의 JSON을 가지고 있지만 난NG 반복 현명한

$scope.product = { 
    "product": [ 
     { 
      "name": "0001", 
      "tagline": "Scrub peached 60% cot 40% poly\r\ns/s v neck scrub uniform w/ 1 chest pkt" 
     } 
    ], 
    "sizes": [ 
     "XXL", 
     "XXXL", 
     "XS", 
     "XL", 
     "S", 
     "M", 
     "L" 
    ], 
    "colors": [ 
     { 
      "name": "WHITE", 
      "image": "/kalypso/commonsController.do?param=imageLoader&imageName=1239378389537_white1.JPG" 
     } 
    ], 
    "images": [ 
     { 
      "big": "/kalypso/commonsController.do?param=imageLoader&imageName=2010_08/1281620375516_UT01.jpg", 
      "small": [ 
       "/kalypso/commonsController.do?param=imageLoader&imageName=2009_07/D0001-b.jpg" 
      ], 
      "thumb": "/kalypso/commonsController.do?param=imageLoader&imageName=2010_08/1281620375516_UT01.jpg" 
     } 
    ] 
} 

AngularJS와 문제

에게 JSON을 얻고있다

$scope.productsImages = $scope.product.images[0].thumb; 
$scope.productsImgSmall = $scope.product.images[0].small; 
$scope.productsImgBig = $scope.product.images[0].big; 
$scope.productsColors = $scope.product.colors[0].cname; 
$scope.productsColorsImages = $scope.product.colors[0].image; 
$scope.productsSizes = $scope.product.sizes; 
$scope.productsName = $scope.product.product[0].name; 
$scope.productsTag = $scope.product.product[0].tagline; 
$scope.productsPrice = $scope.product.product[0].price; 
$scope.productsId = $scope.product.product[0].prdId; 
console.log($scope.productsColors); 

각 단어의 색상 이름이 반복되고 배열 길이가 0 인 경우 오류 메시지가 중복되었습니다. 이걸 도와주세요.

Error: [ngRepeat:dupes] http://errors.angularjs.org/1.3.0/ngRepeat/dupes?p0=color%20in%20productsColors&p1=string%3AT&p2=%22T%22

당신이 당신의 JSON 개체에 고유 ID가없는 경우 내가 track by $index로 보일 것이다
+0

귀하의 HTML을 보여주십시오. 그렇지 않으면 도움을 받으십시오. – SoluableNonagon

+0

문제점을 판별하기에 충분한 코드가 없습니다. 보기 HTML과 각도 컨트롤러의 관련 코드를 포함하십시오. – psaxton

답변

0
다룰 각도하려는 경우
instead of array [i] value use like this 
$scope.productsImages = $scope.product.images; 

HTML 

<ul> 
    <li ng-repeat="prd in productsImages"> 
    {{prd.thumb}} 
</li> 
</ul> 

use repeat function for all key 

another Example 
$scope.data.colors = $scope.product.colors 
<ul> 
    <li ng-repeat="color in product.colors"> 
    {{color.name}} 
{{color.image}} 
</li> 
</ul> 
0

item in items track by $id(item) 

또는

item in items track by $index 

당신이 그것을