Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TS2322: Type 'HTMLDivElement' is not assignable to type 'TemplateRef<NgIfContext<Skill[]>>'

I am trying to render a ng-template if condition in ngIf does not match, but the browser console throws this error pointing an error at "else":

TS2322: Type 'HTMLDivElement' is not assignable to type 'TemplateRef<NgIfContext<Skill[]>>'.

Template:

<ng-container *ngIf="memberSkills; else noSkills">
          <div
            *ngFor="let skillLevel of levelsListWithSkills; let i = index"
            [attr.data-index]="i"
          >
            <div
              id="{{ skillLevel.skillLevel }}"
              [ngClass]="
                skillLevel.skillLevel === 'Expert'
                  ? 'badge badge-pill bg-danger'
                  : skillLevel.skillLevel === 'Intermediate'
                  ? 'badge badge-pill bg-warning'
                  : skillLevel.skillLevel === 'Beginnner'
                  ? 'badge badge-pill bg-success'
                  : 'none'
              "
            >
              <span id="title">{{ skillLevel.skillLevel }}</span>
              <span *ngFor="let skill of levelsListWithSkills[i].skills">
                {{ skill }}
              </span>
            </div>
          </div>
        </ng-container>
        <div ng-template #noSkills>
          <span>Member has not added skills yet.</span>
        </div>
like image 671
doubting Avatar asked Oct 31 '25 18:10

doubting


1 Answers

try

<ng-template #noSkills>
      <span>Member has not added skills yet.</span>
</ng-template>
like image 76
Vitaliy Tsirkunov Avatar answered Nov 03 '25 08:11

Vitaliy Tsirkunov