[英]How to send a message in an Electron renderer window from one JavaScript class/file to another?
``我正在创建一个电子应用程序,我的所有零件都分解为单独的类(单独的文件)。 我希望能够使用类似于ipcRender.send和ipcMain.on的类与另一类进行对话,但是我想在Electron渲染器中的两段代码之间进行通信。 我怎么做?
我可以做一些像mainWindow.webContents.send这样的愚蠢的事情,使用ipcRenderer.on在主窗口中接收消息,然后立即使用ipcRenderer.send发送相同的消息,然后通过ipcMain.on接收它,但这似乎有点疯狂。
有没有一种方法可以在Electron App中发送数据,而不必通过Main?
我认为对您有用的是调用其他文件中定义的函数。
例如,在文件1中,您将具有以下内容:
exports.myFunction = function (arg1, arg2) {
console.log(arg1);
console.log(arg2);
};
在文件2中,您将具有以下内容:
var file1 = require('./file1.js');
file1.myFunction('arg1', 'arg2');
因此,如果您要运行文件2,则它将在文件1中调用一个函数console.log arg1
和arg2
。
您还可以使用以下变量来做同样的事情:
文件1:
exports.customVar = 'placeholder';
档案2:
var file1 = require('./file1.js');
console.log(file1.customVar);
如果要运行文件2,它将使用console.log placeholder
我发现可以在一个类中使用ipcRenderer.emit,而在另一个类中可以使用ipcRenderer.on听到消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.