Maison > Questions et réponses > le corps du texte
Bonjour à tous :
J'utilise electron
pour écrire une application similaire à un éditeur. Il y a une fonction d'enregistrement de fichier dans la barre de menu de l'application :
Parce que la barre de menus est dans le fil de rendu principal, mais l'opération de sauvegarde doit obtenir le contenu dans un éditeur dans le fil de rendu. Le site officiel ne contient que des exemples de fil de rendu demandant le fil de rendu principal (ipcMain和ipcRenderer
),但是ipcMain
好像不能主动请求ipcRenderer
.
Je voudrais donc demander à tout le monde, comment le thread principal peut-il demander activement au thread de rendu d'appeler la méthode du thread de rendu ou de déclencher l'événement du thread de rendu ?
Merci !
曾经蜡笔没有小新2017-07-03 11:44:13
J'ai trouvé la solution ^_^
Dans l'événement ipcMain
和ipcRenderer
中同时监听两个相同名字的事件,然后在主线程中使用focusedWindow.webContents.send('save-file')
触发ipcRenderer
的save-file
事件,在ipcRenderer
的save-file
事件中请求ipcMain
的save-file
et emportez les données correspondantes
ipcMain :
ipcMain.on('save-file' ,(event ,arg) => {
console.log(arg)
})
ipcRenderer :
ipcRenderer.on('save-file' ,(event ,arg) => {
ipcRenderer.send('save-file' ,'test')
})
巴扎黑2017-07-03 11:44:13
Vous pouvez d'abord lier un événement au fil de rendu, par exemple, diffuser l'événement dans la fonction ipcRenderer.on('save', save);
,然后在用户点击菜单中的 Save 时触发这个事件,然后在 save
et transmettre les données dont vous avez besoin.
C’est un peu compliqué, mais c’est tout ce à quoi je peux penser pour l’instant.