如何使用 ngIf* 来验证变量是否为空? angular 8

how to use ngIf* to validate if a variable is null? angular 8

我正在使用此代码来使用服务数据并将其信息保存在数组中。

activities: [];

this.activitiesService.getUserActivities().subscribe((data: any) => {
      this.activities = data;
    });

问题是当我使用 *ngIf 来显示或隐藏 ng-container 时,如果 activities[0] 为 null,出现这个 error:ERROR TypeError: Cannot read 属性 '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>

检查 activities 是否未定义。如果 activities 不是 undefined 检查 index[0].

<ng-container *ngIf="activities && activities[0]; else activity">