node.js - 關於electron主執行緒與渲染執行緒通訊的問題(Menubar事件如何從渲染執行緒取得資料)
大家讲道理
大家讲道理 2017-07-03 11:42:13
0
2
1280

大家好:

我在用electron寫一個類似編輯器的應用程式,在應用程式的選單列中一項儲存檔案功能:

#因為選單列是在主線程中的,但是保存操作需要獲取渲染線程中一個編輯器裡面的內容.官網只有渲染線程請求主線程的例子(ipcMain和ipcRenderer),但是ipcMain好像不能主動請求ipcRenderer.

所以想問大家,主執行緒怎麼主動請求渲染執行緒呼叫渲染執行緒的方法或觸發渲染執行緒的事件呢?

謝謝!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
曾经蜡笔没有小新

找到解決方法了 ^_^

ipcMainipcRenderer中同時監聽兩個相同名字的事件,然後在主執行緒中使用focusedWindow.webContents.send('save-file')觸發,在ipcRenderersave-file事件中請求ipcMainsave-file事件並攜帶相應的數據就好了 ipcMain:

ipcMain.on('save-file' ,(event ,arg) => {
    console.log(arg)
})
ipcRenderer:

ipcRenderer.on('save-file' ,(event ,arg) => {
  ipcRenderer.send('save-file' ,'test')
})
巴扎黑

你可以先給渲染線程綁定一個事件,比如說ipcRenderer.on('save', save);,然後在用戶點擊選單中的Save 時觸發這個事件,然後在save 函數裡再廣播事件,並且傳出來你需要的資料。

有點繞,不過暫時只能想到這樣。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板