【发布时间】:2018-02-08 09:55:45
【问题描述】:
我正在开发一个 Angular 项目 (Angular 4.0.0),我在将抽象类的属性绑定到 ngModel 时遇到问题,因为我首先需要将其转换为实际的具体类才能访问属性。
即我有一个 AbstractEvent 类,它有一个具体的实现 Event,它有一个布尔属性“已确认”,我需要通过 ngModel 进行双向绑定以使用复选框进行设置。
我的 DOM 中有这个元素:
<input type="checkbox" *ngIf="event.end" [(ngModel)]="(event as Event).acknowledged"
[disabled]="(event as Event).acknowledged">
不幸的是,这引发了以下错误:
未捕获的错误:模板解析错误: Parser Error: Missing expected ) at column 8 in [(event as Event).acknowledged]
谷歌搜索似乎表明这可能是因为在模板中使用“as”时不支持使用它?虽然我不确定。
我也不知道如何在驱动模板的打字稿文件中为它编写一个函数,因为这会破坏我需要的 ngModel 上的双向绑定。
如果有人有办法解决这个问题或在角度模板中正确执行类型转换,我将不胜感激!
【问题讨论】:
标签: angular typescript