繁体   English   中英

如何在Electron渲染器窗口中从一个JavaScript类/文件向另一个JavaScript类/文件发送消息?

[英]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 arg1arg2

您还可以使用以下变量来做同样的事情:

文件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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM