成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

node.js - 關(guān)于electron主線程與渲染線程通信的問題(Menubar事件如何從渲染線程獲取數(shù)據(jù))

瀏覽:138日期:2024-07-13 08:48:04

問題描述

大家好:

我在用electron寫一個(gè)類似編輯器的應(yīng)用,在應(yīng)用的菜單欄中一項(xiàng)保存文件功能:

node.js - 關(guān)于electron主線程與渲染線程通信的問題(Menubar事件如何從渲染線程獲取數(shù)據(jù))

因?yàn)椴藛螜谑窃谥骶€程中的,但是保存操作需要獲取渲染線程中一個(gè)編輯器里面的內(nèi)容.官網(wǎng)只有渲染線程請(qǐng)求主線程的例子(ipcMain和ipcRenderer),但是ipcMain好像不能主動(dòng)請(qǐng)求ipcRenderer.

所以想問一下大家,主線程怎么主動(dòng)請(qǐng)求渲染線程調(diào)用渲染線程的方法或觸發(fā)渲染線程的事件呢?

謝謝!

問題解答

回答1:

找到解決方法了 ^_^

在ipcMain和ipcRenderer中同時(shí)監(jiān)聽兩個(gè)相同名字的事件,然后在主線程中使用focusedWindow.webContents.send(’save-file’)觸發(fā)ipcRenderer的save-file事件,在ipcRenderer的save-file事件中請(qǐng)求ipcMain的save-file事件并攜帶相應(yīng)的數(shù)據(jù)就好了

ipcMain:

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

ipcRenderer:

ipcRenderer.on(’save-file’ ,(event ,arg) => { ipcRenderer.send(’save-file’ ,’test’)})回答2:

你可以先給渲染線程綁定一個(gè)事件,比如說 ipcRenderer.on(’save’, save);,然后在用戶點(diǎn)擊菜單中的 Save 時(shí)觸發(fā)這個(gè)事件,然后在 save 函數(shù)里再?gòu)V播事件,并且傳出來你需要的數(shù)據(jù)。

有點(diǎn)繞,不過暫時(shí)只能想到這樣。

相關(guān)文章: