如何理解:由于 BrowserWindow 模块是一个 EventEmitter, 所以您也可以为各种用户事件添加处理程序?

作者站长头像
站长
· 阅读数 16
由于 BrowserWindow 模块是一个 EventEmitter, 所以您也可以为各种用户事件 ( 例如,最小化 或 最大化您的窗口 ) 添加处理程序。

如何理解这句话呢?

回复
1个回答
avatar
test
2024-07-12

意思是 BrowserWindow 是继承 EventEmitter

import { EventEmitter } from 'node:events'

class BrowserWindow extedns EventEmitter {
  // ...
}

所以支持其所有用法

const win = new BrowserWindow({ width: 800, height: 600 })

例如:

  • 注册监听

    win.on('yourCustomEvent', (...args) => {
      console.log('发射的参数: ', ...args)
    })
  • 发射事件

    win.emit('yourCustomEvent', '参数1', '参数2', '参数3')

BrowserWindow 会发射一些实例事件,可以自己监听处理,例如:

win.on('minimize', () => {
  console.log('窗口最小化')
})
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容