electron渲染進(jìn)程主進(jìn)程相互傳值示例解析
在electron中分為渲染進(jìn)程和主進(jìn)程
渲染進(jìn)程就是瀏覽器環(huán)境,主進(jìn)程就是node環(huán)境
既然他們是不同的環(huán)境,那么為我們?cè)趺醋屗麄兿嗷リP(guān)聯(lián)起來(lái)呢?或者說(shuō)怎么傳遞值? 畢竟在開(kāi)發(fā)中可能會(huì)遇到我想要的值只能在node環(huán)境中才能獲取,然后node中可能也會(huì)需要瀏覽器環(huán)境的值;這個(gè)時(shí)候就需要兩個(gè)環(huán)境聯(lián)通起來(lái)相互傳值
瀏覽器傳值給主進(jìn)程
瀏覽器環(huán)境
引入:
import { ipcRenderer } from "electron";
使用:
ipcRenderer.send("reader-json-file", '123');
主進(jìn)程
引入:
import { ipcMain } from "electron";
使用:
ipcMain.on('reader-json-file',(event, num)=>{ console.log(num); // 123 (字符串類(lèi)型) })
完成以上的操作我們就可以在主進(jìn)程中獲取到渲染進(jìn)程傳遞過(guò)來(lái)的值了
主進(jìn)程傳值給渲染進(jìn)程
在這個(gè)的時(shí)候跟以上有一點(diǎn)點(diǎn)差異,這個(gè)是需要拿到你創(chuàng)建這個(gè)窗口(主進(jìn)程的變量值),然后將其傳值給他,并在渲染進(jìn)程中接收
主進(jìn)程
使用:
win.webContents.send('reader-json-file-data','456');
這兒的win是你在創(chuàng)建窗口時(shí)的變量,如下:
win = new BrowserWindow({ width: 1000, height: 600, minWidth: 800, minHeight: 600, // 不要邊框 frame: false, webPreferences: { webviewTag: true, // 禁止同源策略,避免 axios 無(wú)法使用 webSecurity: false, // Required for Spectron testing enableRemoteModule: !!process.env.IS_TEST, nodeIntegration: true, contextIsolation: false // Use pluginOptions.nodeIntegration, leave this alone // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info // nodeIntegration: (process.env // .ELECTRON_NODE_INTEGRATION as unknown) as boolean, // contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION } })
渲染進(jìn)程
在vue中的話:可以在生命周期mounted、created中監(jiān)聽(tīng)
ipcRenderer.on("reader-json-file-data", (event, value) => { console.log(value); // 456 (字符串類(lèi)型) });
注意
渲染進(jìn)程和主進(jìn)程相互傳值可以是任意類(lèi)型(我這邊測(cè)試過(guò)可以傳遞的值,布爾、數(shù)字、字符串、對(duì)象都是可以的),我這邊只是做了一個(gè)演示,所以就是傳遞了一個(gè)字符串類(lèi)型的數(shù)字;
以上就是electron渲染進(jìn)程主進(jìn)程相互傳值示例解析的詳細(xì)內(nèi)容,更多關(guān)于electron進(jìn)程渲染傳值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
fetch-event-source庫(kù)使用源碼學(xué)習(xí)
這篇文章主要為大家介紹了fetch-event-source庫(kù)源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09JavaScript loader原理簡(jiǎn)單總結(jié)示例解析
這篇文章主要為大家介紹了JavaScript loader原理簡(jiǎn)單總結(jié)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08JavaScript實(shí)現(xiàn)余額數(shù)字滾動(dòng)效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)余額數(shù)字滾動(dòng)效果,將傳入的帶滾動(dòng)的n位數(shù)字拆分成每一個(gè)要滾動(dòng)的數(shù),然后動(dòng)態(tài)的創(chuàng)建裝著滾動(dòng)到每一位相應(yīng)數(shù)字的容器,然后放入傳入的目標(biāo)容器中,更多詳細(xì)內(nèi)容,一起進(jìn)入下面文章學(xué)習(xí)吧2021-12-12微信小程序 swiper組件構(gòu)建輪播圖的實(shí)例
這篇文章主要介紹了微信小程序 swiper組件構(gòu)建輪播圖的實(shí)例的相關(guān)資料,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,需要的朋友可以參考下2017-09-09AngularJS 表達(dá)式詳細(xì)講解及實(shí)例代碼
本文主要介紹AngularJS 表達(dá)式,這里對(duì)AngularJS 表達(dá)式詳細(xì)介紹和實(shí)例代碼,有需要的小伙伴可以參考下2016-07-07Flask中獲取小程序Request數(shù)據(jù)的兩種方法
這篇文章主要介紹了Flask中獲取小程序Request數(shù)據(jù)的兩種方法的相關(guān)資料,需要的朋友可以參考下2017-05-05微信小程序 視圖層(xx.xml)和邏輯層(xx.js)詳細(xì)介紹
這篇文章主要介紹了微信小程序 視圖層(xx.xml)和邏輯層(xx.js)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10