【发布时间】: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