Electron 从电子菜单发射主到主事件
我在主进程中有一个“选择当前项目”的侦听器。从渲染器进程触发时,它可以正常工作,但如何从菜单中发出相同的事件 菜单是在默认的Electron 从电子菜单发射主到主事件,electron,Electron,我在主进程中有一个“选择当前项目”的侦听器。从渲染器进程触发时,它可以正常工作,但如何从菜单中发出相同的事件 菜单是在默认的createWindow()中创建的 我的事件处理程序 我不确定我是否理解您所描述的问题,但我所做的是: 函数showProjectPicker存在于main.js中,由如下所示的菜单操作调用。如果我想从渲染器进程调用它,我会通过IPC发送一条消息 { label: 'File', submenu: [ { label: 'Open Project...
createWindow()中创建的
我的事件处理程序
我不确定我是否理解您所描述的问题,但我所做的是:
函数showProjectPicker
存在于main.js
中,由如下所示的菜单操作调用。如果我想从渲染器
进程调用它,我会通过IPC发送一条消息
{
label: 'File',
submenu: [
{ label: 'Open Project...', click: () => { showProjectPicker(); }, accelerator: 'CmdOrCtrl+o' }
]
}
这部艾美奖是如何成为一项主要赛事的?您正在直接调用回调函数。
ipcMain.on('select-current-project', async (event, arg) => {
// code
})
{
label: 'File',
submenu: [
{ label: 'Open Project...', click: () => { showProjectPicker(); }, accelerator: 'CmdOrCtrl+o' }
]
}
ipcMain.on('select-current-project', async (event, arg) => {
onSelectCurrentProject()
})
const onSelectCurrentProject = async (event, arg) => {
if(event !== Null) {
// This is for rendere
} else {
// For menu event in your case
}
}
var menu = Menu.buildFromTemplate([
{
label: 'Menu',
submenu: [
{
label:'Open',
click() {
onSelectCurrentProject(null, args);
},
accelerator: 'CmdOrCtrl+O'
}
]
}
])