搜尋

首頁  >  問答  >  主體

node.js - 關於electron主執行緒與渲染執行緒通訊的問題(Menubar事件如何從渲染執行緒取得資料)

大家好:

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

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

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

謝謝!

大家讲道理大家讲道理2743 天前1292

全部回覆(2)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-03 11:44:13

    找到解決方法了 ^_^

    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')
    })

    回覆
    0
  • 巴扎黑

    巴扎黑2017-07-03 11:44:13

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

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

    回覆
    0
  • 取消回覆