在包A中,有一个名为HTMLMediaElement的接口,它具有一些属性,即
HAVE_METADATA: number;
HAVE_CURRENT_DATA: number;
HAVE_NOTHING: number;
NETWORK_NO_SOURCE: number;
HAVE_ENOUGH_DATA: number;
NETWORK_EMPTY: number;
NETWORK_LOADING: number;
NETWORK_IDLE: number;
HAVE_FUTURE_DATA: number;
HTMLMediaElement接口由Video类实现,它返回这些属性的值为:
get HAVE_CURRENT_DATA(): number {
return 4;
}
HTMLMediaElement 接口和 Video 类都被导出。
HTMLMediaElement 接口参考: https://github.com/TypeStrong/tscs/blob/master/lib/node_modules/TypeScript/bin/lib.dom.d.ts#L8840
我想要的是,
我有另一个 包 B(我正在导入 HTMLMediaElement 接口和视频类),并且想要访问 HTMLMediaElement 属性,例如,
HTMLMediaElement.HAVE_CURRENT_DATA
全球包 B.
我不想通过 Video 类对象访问这些属性(HAVE_CURRENT_DATA、HAVE_NOTHING 等)。
将 Interface HTMLMediaElement 转换为抽象类,并为属性和方法添加 abstract 关键字(因此它会像接口一样工作)。 将 static 关键字添加到 readonly 属性:
static readonly HAVE_CURRENT_DATA : number = 0;
注意:不确定,但它对我有用,您不需要将子类定义从“实现”更改为“扩展”类。