electron实现窗口之间的通信

目标:在使用electron-vue开发桌面端应用时,新建了一个窗口,希望主窗口的值能够在新窗口中进行使用,即涉及到了窗口之间的值的传递。

实现

  1. 窗口A的渲染进程发消息给主进程
const sendMsgMain = (msg) => {
    ipcRenderer.send('sendMsgMain', msg)
}
  1. 主进程收到消息后,再发消息给窗口B的渲染进程
ipcMain.on('sendMsgMain', (e, msg) => {
	childWin.webContents.send('msgFromMain', msg)  // childWin为B窗口
})
  1. 窗口B渲染进程接收主进程消息
const getMsgChild = () => {
    ipcRenderer.on('msgFromMain', (e, message) => {
        console.log(message)
    });
}
  1. 窗口B加载的组件中执行getMsgChild进行监听,窗口A加载的组件中创建按钮点击事件,触发sendMsgMain即可。

你可能感兴趣的:(前端,electron,javascript,前端)