【发布时间】:2016-11-13 12:52:12
【问题描述】:
在主窗口中,当单击按钮时,将通过 ipc 调用弹出第二个/子窗口。 这在第一次打开弹出窗口时有效。如果我关闭弹出窗口并重新打开它,我会收到此错误:
未捕获的异常:错误:对象已在错误处被销毁(本机) 在 EventEmitter。 (/home/xxxx/electron/fin/main.js:36:21) 在 emitOne (events.js:96:13) 在 EventEmitter.emit (events.js:188:7) 在 事件发射器。 (/home/xxxx/electron/fin/node_modules/electron-prebuilt/dist/resources/electron.asar/browser/api/web-contents.js:156:13) 在 emitTwo (events.js:106:13) 在 EventEmitter.emit (events.js:191:7)
#main.js on app ready:
mainWindow = new BrowserWindow({width: 800, height: 600})
mainWindow.loadURL(`file://${__dirname}/index.html`)
mainWindow.webContents.openDevTools()
mainWindow.on('closed', function () {
mainWindow = null
})
let popWindow = new BrowserWindow({parent: mainWindow, width: 450, height: 450, show: false});
popWindow.loadURL(`file://${__dirname}/app/pop.html`);
popWindow.webContents.openDevTools();
ipc.on('toggle-popwindow', function(){
popWindow.show();
});
当我在“关闭”方法中添加 hide() 时:
popWindow.on('closed', function (event) {
popWindow.hide();
});
我明白了:
Uncaught Exception:
Error: Object has been destroyed
有什么问题?
【问题讨论】:
标签: javascript node.js electron