问题:electron构建的客户端,有项功能是点击不同的按钮能够创建不同的新窗口。但是当点击相同的按钮时,已经打开过的窗口会再次被重复创建。怎么样能做到不重复创建窗口,而是呼出这个的窗口。
下面是我当前新窗口创建方式:
clickEvent(url) {
let win = new BrowserWindow();
win.loadURL(url);
win.on('close', () => {
win = null;
});
}
问题:electron构建的客户端,有项功能是点击不同的按钮能够创建不同的新窗口。但是当点击相同的按钮时,已经打开过的窗口会再次被重复创建。怎么样能做到不重复创建窗口,而是呼出这个的窗口。
下面是我当前新窗口创建方式:
clickEvent(url) {
let win = new BrowserWindow();
win.loadURL(url);
win.on('close', () => {
win = null;
});
}
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
问题已经解决,在这里自己回答一下。
思路是:判断当前点击的元素是否有new BrowserWindow()的实列。如果没有就声明一下,并赋值给此元素,如果有实例,可直接show()呼出此窗口。第一次回答问题,估计表达的不是很清楚。还是看代码吧...
// 新窗口列表
const list = [{url: 'html://xxx1.com',isBrowserWindow: null},{url: 'html://xxx2.com',isBrowserWindow: null}]
// 点击事件
clickEvent(item) {
}