【问题标题】:TS2322: Type 'HTMLDivElement' is not assignable to type 'TemplateRef<NgIfContext<Skill[]>>'TS2322:类型“HTMLDivElement”不可分配给类型“TemplateRef<NgIfContext<Skill[]>>”
【发布时间】:2022-01-17 08:35:16
【问题描述】:

如果 ngIf 中的条件不匹配,我正在尝试呈现 ng-template,但浏览器控制台会抛出此错误,指向“else”处的错误:

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

模板:

<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>

【问题讨论】:

    标签: angular typescript ng-template


    【解决方案1】:

    试试

    <ng-template #noSkills>
          <span>Member has not added skills yet.</span>
    </ng-template>
    

    【讨论】:

      猜你喜欢
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      • 2017-04-10
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多