2016-12-11 2 views
0

객체의 배열을 반복하고 싶지만 정의되지 않은 값이 반환됩니다.Object의 배열에서 정의되지 않은 값이 반환됩니다.

왜 정의되지 않은 값으로 반환됩니까? 배열에 항목이있는 것을 봅니다.

Debugger

Object

감사합니다!

+0

문제가 재생 (텍스트 형식이 아닌 이미지) 최소한의 코드를 생성, 그래서 우리는 할 수 바랍니다 직접 시험해보십시오. – trincot

+1

이 코드로는 알기가 어렵습니다. 그러나 Angular에서는 한 곳에서 정의되지 않은 객체가 있고 다른 객체에 객체가있는 것처럼 보입니다. 문제는 일반적으로 JavaScript의 비동기 특성, 특히 AngularJS 때문입니다. 따라서 코드가 실행될 때 배열은 아직 채워지지 않았지만 파싱을 시도한 후에 채워집니다. 좀 더 많은 코드를 제공하면 더 좋은 아이디어를 얻을 수 있습니다. – Toddsden

+0

사실, 나는 피들에 작은 코드 조각을 제공 할 것이다 :). 감사합니다 :) – Jarah

답변

-2

내가 볼 수있는 것부터, 선언 전에 "children"을 참조하고 있습니다.

var children = $rootScope.Angular.nodes[0].children 
    ^         ^

나는 인해 작은 쓰기에 확실하지 않다, 그러나 이것은 문제가 될 수

+0

'var children'은 로컬 변수 선언이고'nodes [0] .children'은 첫 번째 노드에서 children이라는 속성에 액세스하고 있습니다. 따라서 선언되기 전에 어린이를 참조하지 않습니다. – Chanthu

+0

fetchChildren 메소드 다음에'var children = $ rootScope.Angular.nodes [0] .children'을 넣으려고했지만 작동하지 않았습니다. – Jarah

관련 문제