我正在尝试构建一个简单的天气应用程序。
我有两个渲染器进程1. main_ui
窗口2. settings
窗口。
settings
窗口创建 main_ui
窗口。
现在我想从settings
窗口中选择城市名称,以便可以在main_ui
窗口上显示城市的天气信息。我怎样才能实现它?
settings.js
var submit = document.getElementById("submit");
var city_id = document.getElementById("city_code");
var city_name = document.getElementById("city_name");
submit.addEventListener('click', () => {
ipcRenderer.send('set_city_name',
document.getElementById('city_name').value);
console.log(document.getElementById('city_name').value);})
main.js
ipcMain.on('set_city_name', (event, arg) => {
console.log("got it");
console.log(arg);
event.sender.send('reply', arg);
});
但我知道event.sender.send()
会回复settings
窗口。如何在reply
上抓住main_ui
?
答案 0 :(得分:0)
有没有办法向电子中的每个渲染器进程发送异步消息?
是的,你可以一个接一个
const {webContents} = require('electron')
webContents.getAllWebContents().forEach(wc => {
wc.send('reply', arg)
})
对于您的实际问题,您可以更好地设计流程以避免此类情况: