当前位置: 首页 > news >正文

网站开发开票内容798艺术区

网站开发开票内容,798艺术区,图片转文章转wordpress,济南商城网站建设多少钱electron主进程与渲染进程直接的通信示例 1. 背景: electronvue实现桌面应用开发 2.异步模式 2.1使用.send 和.on的方式 preload.js中代码示例: const { contextBridge, ipcRenderer} require(electron);// 暴露通信接口 contextBridge.exposeInMa…

electron主进程与渲染进程直接的通信示例

1. 背景:

electron+vue实现桌面应用开发

2.异步模式

2.1使用.send.on的方式

preload.js中代码示例:


const { contextBridge, ipcRenderer} = require('electron');// 暴露通信接口
contextBridge.exposeInMainWorld('electron', {// 渲染进程向主进程通信sendAppDataPath: function(){ipcRenderer.send('sendappdatapath')},// 主进程向渲染进程通信onAppDataPath: (callback) => ipcRenderer.on('appdatapath', (event, variable) => callback(variable)),// 使用请求、响应模式【也是异步模式】,上面的on,send同为异步模式gainAppDataPath: async () => {return await ipcRenderer.invoke('gainappdatapath');},// 同步模式syncAppDataPath: () => ipcRenderer.sendSync('syncappdatapath'),});

main.js【主进程】:

// 获取appdata路径,并返回给vue
ipcMain.on('sendappdatapath', function(event){// 方法1:返回变量给vueevent.reply('appdatapath', appDataPath); // 可发送成功,接收需在vue mounted中接收// 方法2:使用.send 发送// event.sender.send('appdatapath', appDataPath); // 可发送成功,接收也需要再 vue mounted中接收
})

vue.js【渲染进程】:

// 发送部分代码
methods: {demo: function(){window.electron.sendAppDataPath(); // 调用发送接口},
}
// 需要在vue中的mounted中监听
mounted() {// 监听主进程的变量// 接收send、on的appdata变量window.electron.onAppDataPath((variable) => {console.log('接受到变量:' + variable)})},

2.2 使用.invoke的方式

preload.js中代码示例:


const { contextBridge, ipcRenderer} = require('electron');// 暴露通信接口
contextBridge.exposeInMainWorld('electron', {// 使用请求、响应模式【异步】gainAppDataPath: async () => {return await ipcRenderer.invoke('gainappdatapath');},// 同步模式syncAppDataPath: () => ipcRenderer.sendSync('syncappdatapath'),});

main.js【主进程】:

// 响应模式返回给vue
ipcMain.handle('gainappdatapath', () => {console.log('invoke back varable');return appDataPath;
})

vue.js【渲染进程】:

// 在vue中的methods中
methods: {// 获取电脑apdata目录async gainAppDataPath() {// invoke响应模式 【异步】let appdatapath = await window.electron.gainAppDataPath();console.log('目录为:' + appdatapath)},
}

3. 同步模式

3.1 使用.sendSync

preload.js中代码示例:


const { contextBridge, ipcRenderer} = require('electron');// 暴露通信接口
contextBridge.exposeInMainWorld('electron', {// 同步模式syncAppDataPath: () => ipcRenderer.sendSync('syncappdatapath'),
});

main.js【主进程】:

// 同步模式
ipcMain.on('syncappdatapath', (event) => {event.returnValue = xxx; 
})

vue.js【渲染进程】:

// 发送部分代码
methods: {demo: function(){let syncappdatapath = window.electron.syncAppDataPath();console.log('同步模式目录为:' + JSON.stringify(syncappdatapath))},
}
http://www.yayakq.cn/news/391516/

相关文章:

  • 这里是我做的网站痘痘该怎么去除效果好
  • 建设网站花费flash源文件网站
  • 电子商务网站的建设的意义文山市住房和城乡建设局网站
  • 无锡手机网站建设方案怎么做网站seo优化
  • 企业网站快速备案服务xxx学校校园网站建设实践
  • 网站建设合同范文国外创意网站设计
  • 广州做和改版网站的公司小程序代理商在哪儿
  • 手机网站微信代码怀化建网站
  • 购物网站开发django网站开发 实战
  • 网站后台cms禁止搜索引擎收录的方法
  • 爱站seo工具包wordpress图片库插件
  • 爱站关键词挖掘工具南浔建设网站
  • 宜昌最权威网站建设公司备案网站 cdn
  • 企业网站建设 制作wordpress删除图片
  • 农产品电子商务网站建设现状想在拼购网站做产品
  • 网站做网站反向代理违法电子商务网站开发课程简介
  • 东莞阳光网站类qq留言网站建设
  • 网站建设套餐怎么样wordpress 4.5.3
  • 网站建设中 切片指什么两题一做的网站
  • 网页设计作业文件轻松seo优化排名 快排
  • 北京做erp报价的网站wordpress 表情插件
  • 在线做效果图的网站网站推广与优化怎么做
  • 6做网站网站代码优化方案
  • 减肥网站开发目的雅安公司做网站
  • 竞网网站建设网店推广费用多少钱
  • 漳州市东山县建设局网站代做备案网站
  • 路由器做映射后 内网可以访问到我的网站 但是外网无法访问工业品一站式采购平台
  • 网站备案法律福田住房和建设局网站
  • 吉林省住房和城乡建设厅网站6wordpress文章图片显示不出
  • 自己做网站的二维码art2008cms网站开发