programing

Angular2 *ngIf 템플릿에서 객체 배열 길이 확인

closeapi 2023. 8. 4. 23:04
반응형

Angular2 *ngIf 템플릿에서 객체 배열 길이 확인

https://angular.io/docs/ts/latest/guide/displaying-data.html 스택 *ngIf를 사용하여 각 2 템플릿에서 빈 개체를 확인하는 방법 여전히 구문 오류 셀프 컨텍스트가 정의되지 않았습니다.*ngIf 조건을 제거하면 teamMembers에서 값에 액세스할 수 있도록 값을 입력하면 teamMembers에서 값을 얻습니다.

나의teamMember목적은[ ] array크기별로 조건 배열이 비어 있는지 확인하려고 합니다.

시도:

<div class="row" *ngIf="(teamMembers | json) != '{}'">

그리고.

<div class="row" *ngIf="teamMembers.length > 0"> //Check length great than
                                                 throwing syntax error
            <div class="col-md-12">
                <h4>Team Members</h4>
                <ul class="avatar" *ngFor="let member of teamMembers">
                    <li><a href=""><gravatar-image [size]="80" [email]="member.email"></gravatar-image></a></li>
                </ul>
            </div>
        </div>

구성 요소:

@Component({
selector: 'pbi-editor',
})
export class AppComponent implements OnInit {
teamMembers: User[];

어떤 도움이든 좋습니다.

<div class="row" *ngIf="teamMembers?.length > 0">

이것은 먼저 다음 여부를 확인합니다.teamMembers값이 있고 만약teamMembers가치도 없고, 접근하려고도 하지 않습니다.lengthundefined상태의 첫 번째 부분이 이미 실패했기 때문입니다.

사용할 수 있습니다.*ngIf="teamMembers != 0"데이터가 있는지 확인합니다.

사용할 수 있습니다.

<div class="col-sm-12" *ngIf="event.attendees?.length">

없이.event.attendees?.length > 0아니 심지어는event.attendees?length != 0

왜냐면?.length이미 부울 값을 반환했습니다.

배열에 표시되는 항목이 있으면 표시되지 않습니다.

약간 오버킬이 발생할 수 있지만 생성된 라이브러리 ngx-if-empty-또는 has-empty-items는 객체, 세트, 맵 또는 배열이 비어 있지 않은지 확인합니다.아마도 누군가에게 도움이 될 것입니다.ngIf와 동일한 기능을 가지고 있습니다(다른 구문 및 'as' 구문이 지원됨).

arrayOrObjWithData = ['1'] || {id: 1}

<h1 *ngxIfNotEmpty="arrayOrObjWithData">
  You will see it
</h1>

 or 
 // store the result of async pipe in variable
 <h1 *ngxIfNotEmpty="arrayOrObjWithData$ | async as obj">
  {{obj.id}}
</h1>

 or

noData = [] || {}
<h1 *ngxIfHasItems="noData">
   You will NOT see it
</h1>

이 기사는 왜 나에게도 효과가 없는지 알아내는 데 많은 도움이 되었습니다.웹 페이지 로딩과 각도 2가 제가 생각하는 시점이 아니라 타임라인으로 상호 작용하는 방식을 생각해 볼 수 있는 교훈을 줍니다.다른 사람이 이 점을 언급하는 것을 보지 못했어요, 그래서 전...

*ngIf가 필요한 이유는 나머지 OnInit 작업이 발생하기 전에 해당 변수의 길이를 확인하고 "lengined" 오류를 발생시키기 때문입니다.그래서 아직 존재하지 않지만 곧 존재할 것이기 때문에 ?를 추가하는 것입니다.

언급URL : https://stackoverflow.com/questions/37543362/angular2-ngif-check-object-array-length-in-template

반응형