Electron ipcRenderer 子產品
ipcRenderer
子產品是一個 EventEmitter 類的執行個體. 它提供了有限的方法,你可以從渲染程序向主程序發送同步或異步消息. 也可以收到主程序的響應.
發送消息
ipcRenderer
子產品有如下方法來發送消息:
ipcRenderer.send(channel[, arg1][, arg2][, ...])
ipcRenderer.send(channel[, arg1][, arg2][, ...])
-
Stringchannel
-
(可選)arg
通過
channel
向主程序發送異步消息,也可以發送任意參數.參數會被JSON序列化,之後就不會包含函數或原型鍊.
主程序通過使用
ipcMain
子產品來監聽
channel
,進而處理消息.
在render程序中
const {ipcRenderer: ipc} = require('electron');
ipc.send('min');
在主程序中
import { app, BrowserWindow, ipcMain } from 'electron'
ipcMain.on('min', e=> mainWindow.minimize());
ipcMain.on('max', e=> {
if (mainWindow.isMaximized()) {
mainWindow.unmaximize()
} else {
mainWindow.maximize()
}
});
ipcMain.on('close', e=> mainWindow.close());