{{object} 여부를 확인하지 않으면 오류가 발생합니다.필드}이(가) 존재합니다.
개체에 필드가 있는지 확인하는 것에 대해 질문이 있습니다.
사용자가 가지고 있는 모든 범주를 인쇄하여 다음과 같은 작업을 수행합니다.
<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"
참고 항목각 2의 템플릿에 데이터가 추가되지 않음
*ngIf
다른 방법은 항상 뷰의 부분을 다음과 같이 닫는 것입니다.*ngIf="data"부품이 이전에 렌더링되는 것을 방지합니다.data참조 취소 오류를 방지하기 위해 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/34910928/error-if-dont-check-if-object-field-exists
'source' 카테고리의 다른 글
| 데이터 프레임 인덱스를 날짜/시간으로 변환 (0) | 2023.08.28 |
|---|---|
| PHP로 MySQL 테이블이 있는지 확인하려면 어떻게 해야 합니까? (0) | 2023.08.28 |
| web.config 파일에서 리디렉션 설정 (0) | 2023.08.28 |
| XML의 html 형식 문자열 리소스에서 TextView 텍스트 (0) | 2023.08.28 |
| SQL Server의 Excel 저장 프로시저의 표와 워크북의 매개 변수 필드 (0) | 2023.08.28 |