Этого можно добиться с помощью ipc.
Оригинальное окно рендеринга JS
import { ipcRenderer } from "electron";
let personName = 'Leandro'
let personAge = -1
ipcRenderer.send("send-data", {name:personName, age:personAge})
Главная / index.js
// When receives data from ipcRenderer/Original renderer
// emits that data to channel "here is your data"
ipcMain.on("send-data", function(event, args){
ipcMain.emit("here-isyour-data", data)
})
Рендерер приемника
let personName = null
let personAge = null
ipcRenderer.on("here-isyour-data",function(event, args) {
personName = args.personName
personAge = args.personAge
})
Лучше сделать основной index.js контроллером, но при желании вы можете сделать так, чтобы процесс рендерера связывался друг с другом, используя ipcRenderer.sendTo()
.
Чтобы решить вашу проблему, вы можете сделать это
// On creation/indexjs
let newWindow = new BrowserWindow()
newWindow.emit('hey, im created')
// On render.js
let personName = null
let personAge = null
newWindow.once('oke, here is your data', function(event, args){
personName = args.personName
personAge = args.personAge
})
// On original render.js
let personName = 'Leandro'
let personAge = -1
ipcRenderer.once("hey, im created", function(){
ipcRenderer.send("oke, here is your data", {name:personName, age:personAge})
})
OR
Иметь mainRenderer в качестве посредника на "// При создании / indexjs".
Я надеюсь, что помог, я никогда не использовал угловые, но я думаю, что вы можете достичь этого с помощью электронов.
Для получения дополнительной информации посетите электронный: Ipc Docs
Если вам нужен классный и улучшенный обработчик окон, перейдите сюда: GitHub