[英]How to type a variable for ngfor for html template in Angular?
我的组件中有这个变量:
sizes: {[key: string]: GoodModel[]};
在 controller 我的 IDE 中处理得很好。 例如,可以键入:
this.sizes['5'][0].brand;
然后在品牌上按 f12,例如 IDE 显示 GoodModel class 的品牌字段。
但是当我在 HTML 中执行 *ngFor 时它不起作用:
<div *ngFor="let size of sizes[radius]">
<a [routerLink]="size.brand.url></a>
</div>
IDE 对 size.brand 和 size.brand.url 字段一无所知。
我认为,也许存在某种处理它的方法。 有人这样想:
<div *ngFor="let size of sizes[radius] as GoodModel">
有没有办法在 HTML 模板中输入这个变量?
您可以为*ngFor
将呈现的模板创建一个新组件,然后您可以将其键入。
此答案中的代码:有没有办法在 ngFor 中声明特定类型
容器模板:
<ng-container *ngFor="item of items" > <my-custom-component [item]="item"></my-custom-component> </ng-container>
自定义组件模板:
<div *ngIf="item.menuItemType == 'dropdown'"> <!-- --> </div>
.ts
文件:@Component({}) export class MyCustomComponent { @Input() item: MenuItem }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.