如何解决如何模仿Electron的d.ts事件缩小界面?
Electron提供了一个electron.d.ts
文件,该文件声明了一个命名空间,并且其中包含许多EventEmitter
扩展名。其中的每一个都为每个事件字符串定义on/once/{add|remove}Listener
。这非常酷,因为它使我无法将侦听器附加到未发出的事件。他们的代码示例:
class Debugger extends NodeEventEmitter {
// Docs: http://electronjs.org/docs/api/debugger
/**
* Emitted when the debugging session is terminated. This happens either when
* `webContents` is closed or devtools is invoked for the attached `webContents`.
*/
on(event: 'detach',listener: (event: Event,/**
* Reason for detaching debugger.
*/
reason: string) => void): this;
once(event: 'detach',/**
* Reason for detaching debugger.
*/
reason: string) => void): this;
addListener(event: 'detach',/**
* Reason for detaching debugger.
*/
reason: string) => void): this;
removeListener(event: 'detach',/**
* Reason for detaching debugger.
*/
reason: string) => void): this;
但是,如果我尝试创建自己的class MyEvent extends EventEmitter
,然后像这样定义,则会收到错误消息:
函数实现缺少或不是紧跟在声明之后.ts(2391)
因为我显然没有实现on
函数,所以我只想将其限制为将要发出的一些事件。
例如
class MyEvent extends EventEmitter {
on(event: 'frotz',listener: Function): this;
}
因此出现ts2391
错误。
有很多类似这样的堆栈溢出问题,并且很多问题都变成了庞大的模板化样板,与Electron所做的相比,我发现这些问题并不雅致。但是,我的打字稿仍然是初学者,所以我不完全了解如何以电子方式创建.d.ts
文件。
有人看到我被困在哪里吗?咨询吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。