如何在 Electron JS 中将变量从 mainWindow 发送到 childWindow?

Vin*_*ent 1 javascript desktop-application electron

我正在打开一个子窗口,它有自己的 HTML 和 JavaScript。
我想从 MainWindow javascript 发送一个属性,一个 ID。到子窗口。

子窗口是一个“设置”窗口,完成后点击“应用”。然后我希望它返回一些 HTML
信息(搜索输入值)和我最初发送给它的 ID。

它们都是渲染器进程,一个主窗口和一个子窗口。
我该如何实现这个目标?

Tor*_*orf 5

两个窗口不能直接通信,但您可以通过main.js使用发送信息ipcRenderer

第一个窗口:

const {ipcRenderer} = require('electron');
ipcRenderer.send('eventA', {SomeData});
Run Code Online (Sandbox Code Playgroud)

main.js:

const {ipcMain} = require('electron');
ipcMain.on('eventA', (event, arg) => {
    secondWindow.webContents.send('EventA', arg);
});
ipcMain.on('eventB', (event, arg) => {
    firstWindow.webContents.send('EventB', arg);
});
Run Code Online (Sandbox Code Playgroud)

子窗口:

const {ipcRenderer} = require('electron');
ipcRenderer.on('EventA', (event, message) => {
    ipcRenderer.send('EventB', {someotherData});
});
Run Code Online (Sandbox Code Playgroud)

此方式{someData}到达您的子窗口,并可以以相同的方式发送回来。