javascript - 我们如何在 Electron 中将消息主进程发送到渲染器进程
问题描述
我是第一次玩电子游戏。尝试创建一个文本编辑器
在渲染中,我正在发送一条消息以指示内容已更改并需要保存:
document.getElementById('content').onkeyup = e => {
ipcRenderer.send('SAVE_NEEDED', {
content: e.target.innerHTML,
fileDir
})
}
然后ipcMain
收到没问题。在菜单上我有这个:
{
label: 'Save',
click: _ => {
saveFile(message)
// trying:
// ipcMain.send('SAVED', 'File Saved')
},
accelerator: 'cmd+S', // shortcut
}
让用户知道文件有。但这似乎不起作用。有没有其他方法可以做到这一点?我原以为“保存”将是一个预先创建的角色(有点)
解决方案
要将消息发送回渲染器,您将使用:
win.webContents.send('asynchronous-message', {'SAVED': 'File Saved'});
并像这样接收它:
ipcRenderer.on('asynchronous-message', function (evt, message) {
console.log(message); // Returns: {'SAVED': 'File Saved'}
});
asynchronous-message
您要将其发送到的频道在哪里。它可以是任何东西。
推荐阅读
- java - 如何从 java 程序中收集特定 pid 的堆转储
- java - Netbeans 11 Javadoc 没有出现?
- python-3.x - 传递给 _target() 的参数数量中的类型错误
- oracle - 删除记录在 oracle 表单中不起作用
- android - SQLite 数据库中的 PDF 文件
- javascript - 如何在 JS 中处理自定义协议响应?
- mediawiki - 如何安装 MediaWiki 'Notes' 扩展
- javascript - 有没有办法在react中传递一组道具?
- r - 在 R 3.6.0 中将 rgeos 连接到 maptools
- python - 在 Python 中生成随机列表(种子问题?)