반응형
{{object.field}} 존재 여부를 확인하지 않으면 오류
개체의 일부 필드가 있는지 확인하는 방법에 대한 질문이 있습니다.
사용자가 가지고있는 모든 카테고리를 인쇄하고 싶으므로 다음과 같이합니다.
<ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories">
<li>
{{category.name}}
</li>
</ul>
이유? 모든 데이터가된다 올바르게 인쇄하지만이 같은 웹 콘솔에서 오류를 받고 있어요 :
Cannot read property 'name' of null
하지만 다음과 같이 할 때 :
<ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories">
<li *ngIf="category">
{{category.name}}
</li>
</ul>
그럼 모두 괜찮습니다.
내가 뭔가 잘못하고 있거나 매번 이것을 확인해야 할 수도 있습니까? 이와 같은 문제가 있었습니까?
기본 사용법
안전 탐색 연산자 사용
{{category?.name}}
다음 name
경우 읽기 전용 category
되지 않습니다 null
.
정렬
이것은 .
(역 참조) 연산자에 대해서만 작동합니다 . 배열의 경우 다음을 사용할 수 있습니다.
{{records && records[0]}}
Angular 2-ERROR CONTEXT : [object Object] 컨텍스트와 함께 정의되지 않은 오류의 속성 '0'을 읽을 수 없음 도 참조하십시오 .
비동기 파이프
함께 async
파이프는처럼 사용할 수
{{(chapters | async)?.length
ngModel
로 ngModel
현재는로 분할 될 필요가
[ngModel]="details?.firstname" (ngModelChange)="details.firstname = $event"
angular2의 템플릿에 데이터가 추가되지 않음을 참조하십시오.
*ngIf
대안은 역 참조 오류를 방지 *ngIf="data"
하기 위해 data
를 사용할 수 있기 전에 부품이 전혀 렌더링되지 않도록 항상 뷰의 일부를 래핑하는 것 입니다.
참고 URL : https://stackoverflow.com/questions/34910928/error-if-dont-check-if-object-field-exists
반응형
'Programing' 카테고리의 다른 글
NSArray에서 객체의 인덱스를 얻습니까? (0) | 2020.11.13 |
---|---|
Dispose가 'using'블록에 대해 호출되지 않는 상황이 있습니까? (0) | 2020.11.13 |
Ruby on Rails : 양식으로 배열 제출 (0) | 2020.11.13 |
빈 커밋 메시지로 인해 커밋 중단 (0) | 2020.11.13 |
도킹이 해제되면 Android 스튜디오의 '미리보기'설정에 '도킹 모드'옵션이 없습니다. (0) | 2020.11.13 |