Electron打开新窗口后并传递参数

试了reply发现子页面接收不到父页面传来的参数,最后在文档里找到webContents

主进程

main.js

ipc.on('new_win', (e, arg) => {
    // 创建子页面
    var main_new_win = new BrowserWindow({
        ...
    })
    main_new_win.on('ready-to-show', function () {
        main_new_win.webContents.send('data',arg.data); // 发送消息
        main_new_win.show() // 初始化后再显示
    })
    main_new_win.on('closed', () => { main_new_win = null })
})

渲染进程

father.html

const ipc = require('electron').ipcRenderer;
function new_win(options){
    var options = {
        name:options.name || null,
        title:options.title || '新窗口',
        width:options.width || 450,
        height:options.height || 500,
        frame:options.frame=='hiden'?false:true,
        data:options.data || null  // 需要发送的数据
    }
    ipc.send('new_win',options);
}

child.html

const ipc = require('electron').ipcRenderer;
ipc.on('data', (e,arg) => {
        console.log(arg)
});

你可能感兴趣的:(Electron打开新窗口后并传递参数)