Как мы можем отправлять сообщения основной процесс процессу рендерера в Electron - PullRequest
0 голосов
/ 01 сентября 2018

Я впервые играю с электроном. Попытка создать текстовый редактор

При рендеринге я отправляю сообщение о том, что содержимое изменилось и требует сохранения:

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
}

Чтобы пользователь знал, что файлы имеют. Но это не похоже на работу. Есть ли другой способ сделать это? Я бы подумал, что «сохранить» - это заранее созданная роль (вроде)

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

альтернативно - когда вы хотите ответить на событие, полученное от процесса визуализации, вы можете сделать что-то вроде этого:

     ipcMain.on("eventFromRenderer", (event) => {
          event.sender.send("eventFromMain", someReply);
     }

Источник: https://electronjs.org/docs/api/ipc-main

0 голосов
/ 01 сентября 2018

Чтобы отправить сообщение обратно в средство визуализации, вы должны использовать win.webContents.send('asynchronous-message', {'SAVED': 'File Saved'});

webContents.send Документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...