2016-07-30 3 views
0

보간을 통해 json에서 다른 값을 렌더링하려고하지만 어떤 이유로 반복에서만 작동합니다. 예를 들어각도 2 보간

:

<ul> 
    <li *ngFor="let object of objects"> 
     {{object.title}} {{object.text}} 
    </li> 
</ul> 

이 작동합니다.

하지만 그것은 작동하지 않습니다 반복하지 않고 특정 값을 액세스 할 때마다 :

{{objects[0].title}} {{objects[0].text}} 

을이 오류를 얻기 : ORIGINAL 예외 : 형식 오류를 : 재산 '0'정의되지 않은

어떤을의를 읽을 수 없습니다 이것이 일어나는 이유?

감사합니다.

+0

당신이 우리에게 구성 요소를 표시 할 수 있습니다 암호? – micronyks

답변

0

처음에는 objects의 값을 설정하지 않았을 것입니다. 귀하의 코드는 아마도 이런 식으로 보입니다.

@Component({ 
... 
}) 
class MyComponent { 
    objects; 
    ngOnInit() { 
     someHttpRequest().then((res) => objects = res); 
    } 
} 

각도 구성 요소가로드 되 자마자 objects을 보간하려고, 당신은 사실, 그 objects[0]이 때까지 객체에 값을 제공하지 않기 때문에, 정의되지 않은 것입니다.

당신은 몇 가지 방법으로이 문제를 해결할 수 있습니다 - 아마 가장 쉬운 방법이 될 것 인 *ngIf

<div *ngIf="objects && objects.length > 0"> 
    {{objects[0].foo}} 
</div> 
+0

그래, 문제는 json 응답이 외부 API에서 비롯된 것임을 알고있었습니다. 그러나 반복과 함께 올바른 렌더링은 매우 missleading ... 나는 아직도 어떻게 작동하지 않습니다. 개체가 정의되지 않은 경우 반복 내에서 정의되지 않아야합니다 ... 어쨌든, 감사합니다. – cerealex

0

간단한 대답에 어떤 object[0] 참조를 래핑하는 그냥,

{{Objects[0]?.title}} {{objects[0]?.text}}