问题描述
我在角度组件的模板中有以下行
<tr dt-row-placeholder [contents]="dtElements" [context]="datum" *ngFor="let datum of model.Collection"></tr>
当我将鼠标悬停在 VS 代码中的变量上时,我看到 和
但是,我在构建时遇到以下错误
Error: src/sp-data-table/data-table-body/data-table-body.component.html:27:55 - error TS2322: Type 'any' is not assignable to type 'never'.
27 <tr dt-row-placeholder [contents]="dtElements" [context]="datum" *ngFor="let datum of model.Collection"></tr>
我想知道在启用 fullTemplateTypeCheck 的同时我是否可以做些什么来解决这个问题。将 fullTemplateTypeCheck 设置为 false 可以解决问题,但意味着我会失去它在应用其他部分提供的好处。
我的预感是,尽管“context”和“datum”在悬停中显示为“T”类型,但打字稿无法知道“DataTableRowPlaceholderComponent”的 T 与“datum”相同,后者是一个在包含组件的属性上定义的 T[] 的元素。我想我的问题是,有什么方法可以让我告诉 angular 两个“T”指的是同一种类型?令我感到奇怪的是,当智能悬停不知何故知道它们不是那些类型时,该错误似乎表明“上下文”的类型为“从不”,而“数据”的类型为“任何”。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)