目标:在使用electron-vue开发桌面端应用时,新建了一个窗口,希望主窗口的值能够在新窗口中进行使用,即涉及到了窗口之间的值的传递。
实现:
- 窗口A的渲染进程发消息给主进程
const sendMsgMain = (msg) => {
ipcRenderer.send('sendMsgMain', msg)
}
- 主进程收到消息后,再发消息给窗口B的渲染进程
ipcMain.on('sendMsgMain', (e, msg) => {
childWin.webContents.send('msgFromMain', msg) // childWin为B窗口
})
- 窗口B渲染进程接收主进程消息
const getMsgChild = () => {
ipcRenderer.on('msgFromMain', (e, message) => {
console.log(message)
});
}
- 窗口B加载的组件中执行getMsgChild进行监听,窗口A加载的组件中创建按钮点击事件,触发sendMsgMain即可。