【发布时间】:2021-03-10 00:28:56
【问题描述】:
我正在使用此代码来使用服务数据并将其信息保存在数组中。
activities: [];
this.activitiesService.getUserActivities().subscribe((data: any) => {
this.activities = data;
});
问题是当我使用 *ngIf 显示或隐藏 ng-container 如果活动 [0] 为空时,出现此错误:ERROR TypeError: Cannot read property '0' of undefined
我给你看我的代码:
<ng-container *ngIf="activities[0]">
<div class="col-6 col-sm-6 col-md-3 actividad">
<div class="testmonial_author text-center activity-active">
<i class="fas {{ activities[0].category }}"></i>
<span>{{ activities[0].description }}</span>
</div>
</div>
</ng-container>
<ng-container *ngIf="!activities[0]">
<div class="col-6 col-sm-6 col-md-3 actividad">
<div class="testmonial_author text-center" (click)="openModalActivity()">
<i class="fas fa-cloud-upload-alt"></i>
<span>Crea una actividad</span>
</div>
</div>
</ng-container>
我尝试了这段代码,但没有工作。
<ng-container *ngIf="activities[0]; else activity">
<div class="col-6 col-sm-6 col-md-3 actividad">
<div class="testmonial_author text-center activity-active">
<i class="fas {{ activities[0].category }}"></i>
<span>{{ activities[0].description }}</span>
</div>
</div>
</ng-container>
<ng-template #activity>
<div class="col-6 col-sm-6 col-md-3 actividad">
<div class="testmonial_author text-center" (click)="openModalActivity()">
<i class="fas fa-cloud-upload-alt"></i>
<span>Crea una actividad</span>
</div>
</div>
</ng-template>
【问题讨论】: