2014-07-08 1 views
0

조금 길어졌습니다. 나는 내가각도 템플릿에서이 JSON 데이터에 액세스하려면 어떻게해야합니까?

Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: place in places, Duplicate key: string:" 
을 얻을

<li ng-repeat='cuisine in cuisines'>{{cuisine.fields.name}}</li> 

을하려고하면 내가 (데이터) CONSOLE.LOG 경우 내 JSON 데이터가

$scope.cuisines = data; 

에 저장되고, 그 결과는

"[{\"pk\": 1, \"model\": \"swings.cuisine\", \"fields\": {\"name\": \"Chinese\"}}, 
{\"pk\": 2, \"model\": \"swings.cuisine\", \"fields\": {\"name\": \"Indian\"}}, 
{\"pk\": 3, \"model\": \"swings.cuisine\", \"fields\": {\"name\": \"Japanese\"}}]" 

입니다

나는 "tracks by cuisine.pk"를 추가하려고 시도했다. (ot 그녀의 유사)이 질문에 대한 stackoverflow 답변 중 일부로 제안했다. 그래도 같은 오류가 계속 발생합니다. $ index로 트랙을 추가하면 정보가없는 총알 수를 무제한으로 얻을 수 있습니다.

도움을 주시면 감사하겠습니다. 감사합니다

+0

'data'에서 오는 각 템플릿에 설정하기 전에 구문 분석 얻을 data 이래? 그것은 문자열 인 것처럼 보입니다. 그것은 JSON 이미 자바 스크립트 배열로 구문이 있어야합니다 – charlietfl

+0

나는 당신이 버그에 대한 잘못된 장소가있을 것 같아요. 여기에 코드가있는 [jsfiddle] (http://jsfiddle.net/MrRampage/V4s6D/)이 있는데 제대로 작동합니다. 너 뭔가 빠졌어? – Pete

+0

흠, 그건 이상한데, 내 코드는 장고에서오고있다, 그 연재 및 각도로 전달. – user3739703

답변

1

당신이 문자열 형식으로는

JS

var data = "[{\"pk\": 1, \"model\": \"swings.cuisine\", \"fields\": {\"name\": \"Chinese\"}}, {\"pk\": 2, \"model\": \"swings.cuisine\", \"fields\": {\"name\": \"Indian\"}},{\"pk\": 3, \"model\": \"swings.cuisine\", \"fields\": {\"name\": \"Japanese\"}}]"; 

function ctrl($scope) { 
    $scope.cuisines = JSON.parse(data); 

} 

JsFiddle

+0

이것은 매우 이상합니다. JSON.parse가 작동하지 않습니다. 나는 무슨 일이 일어나는지 이해하지 못한다. 콜백의 일부가 아닌 내 데이터를 정의하면 내 목록이 잘 표시됩니다. 내 콜백 데이터 (똑같은 데이터)를 사용하면 계속 반복 오류가 발생합니다. – user3739703

+0

@ user3739703 : JSON.parse없이 시도하십시오. 또한 단지'typeof data'를 확인하십시오. – Okky

+0

어떻게 작동하는지 잘 모릅니다.하지만 작동하도록 서버에서 검색된 정보를 두 번 파싱해야합니다. 내가 왜 수동으로 내 데이터를 정의하면 단 하나의 구문 만 작동하는지 나는 모른다. 나는 구두가되기 전에 시작 데이터가 둘 모두에 대해 정확히 동일하기 때문에 왜 이런 일이 일어나는지 알 수 없습니다. 그러나 문제가 해결되지는 않을 것입니다. 고마워 편집 : 분명히 내 초기 데이터는 서버에서 전달 된 문자열, 첫 번째 시간 문자열로 나뭇잎 및 두 번째 시간을 개체로 그것을 작동하도록 밝혀졌습니다. 엄청 이상해 – user3739703

관련 문제