本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
electron渲染进程主进程相互传值示例解析
程序猿小军 · 135浏览 · 发布于2023-06-16 +关注

这篇文章主要为大家介绍了electron渲染进程主进程相互传值示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

在electron中分为渲染进程和主进程


渲染进程就是浏览器环境,主进程就是node环境

既然他们是不同的环境,那么为我们怎么让他们相互关联起来呢?或者说怎么传递值? 毕竟在开发中可能会遇到我想要的值只能在node环境中才能获取,然后node中可能也会需要浏览器环境的值;这个时候就需要两个环境联通起来相互传值

浏览器传值给主进程

浏览器环境

引入:

import { ipcRenderer } from "electron";

使用:

ipcRenderer.send("reader-json-file", '123');

主进程

引入:

import { ipcMain } from "electron";

使用:

ipcMain.on('reader-json-file',(event, num)=>{
    console.log(num); // 123 (字符串类型)
})

完成以上的操作我们就可以在主进程中获取到渲染进程传递过来的值了

主进程传值给渲染进程

在这个的时候跟以上有一点点差异,这个是需要拿到你创建这个窗口(主进程的变量值),然后将其传值给他,并在渲染进程中接收

主进程

使用:

win.webContents.send('reader-json-file-data','456');

这儿的win是你在创建窗口时的变量,如下:

win = new BrowserWindow({
  width: 1000,
  height: 600,
  minWidth: 800,
  minHeight: 600,
  // 不要边框
  frame: false,
  webPreferences: {
    webviewTag: true,
    // 禁止同源策略,避免 axios 无法使用
    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
  }
})

渲染进程

在vue中的话:可以在生命周期mounted、created中监听

ipcRenderer.on("reader-json-file-data", (event, value) => {
    console.log(value); // 456 (字符串类型)
});

注意

渲染进程和主进程相互传值可以是任意类型(我这边测试过可以传递的值,布尔、数字、字符串、对象都是可以的),我这边只是做了一个演示,所以就是传递了一个字符串类型的数字;


相关推荐

大数据背后智慧消防的发展逻辑

· 815浏览 · 2019-06-05 10:39:02
Softmax分类器及最优化

iamitnan · 984浏览 · 2019-06-14 09:41:08
如何避免成为 AI 时代的文盲?

manongba · 835浏览 · 2019-06-17 10:01:13
加载中

0评论

评论
我是来自差了一点掉完头发的程序猿,小军,希望在这里可以向各位大佬们学习。
分类专栏
小鸟云服务器
扫码进入手机网页