typescript - 如何通过接口初始化对象?
问题描述
我有自定义类和实现的接口:
interface IFilterWeekScheduleClassShort {
type: string;
id: number;
name: string;
}
export class FilterWeekScheduleClass extends Filter {
public constructor(public model: IFilterWeekScheduleClassShort) {
super(model);
}
public getModel() {
return this.model.type;
}
}
当我创建此类的实例时,我传入model
type 的构造函数IFilterWeekScheduleClassShort
。
默认情况下如何初始化对象model
如果将模型传递为空对象:{}
?
因为当我调用 method:getModel()
它返回一个错误: no property type
。
解决方案
默认情况下如何初始化对象
model
如果将模型传递为空对象:{}
?
不允许为空对象;您的界面清楚地表明它具有三个必需的属性。
如果这些属性中的一些/全部是可选的,您可以?
在属性名称和:
接口中使用 a 将它们标记为可选,但如果它们不是可选的,则传递{}
给构造函数是错误的,TypeScript 可以正确引发它.
推荐阅读
- javascript - 为什么光滑的滑块向前和向后滑动滑动?
- linux - /dev/ttyACM0 和 /dev/ttyACM1 的文件描述符相同
- c# - 如何在 XAML 中重新加载图像?
- javascript - React / CSS - 当宽度为自动时,在内容更改后动画按钮宽度调整大小
- python - numpy结构化数组中的子数组不是c连续的
- ios - ios 中的 Twilio QuickStarter 项目问题
- java - Tika:OOXMLParser 是什么意思?
- python - 在 python 中拦截和过滤对 HTTPS 服务器的请求?
- python - Kivy 将图像放置在动态生成按钮的某个位置
- android - 安卓工作室。设计看不到设计上的任何东西