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

2、electron vue3 怎么创建子窗口,并给子窗口路由传参

接上回初始化vue3 electron项目,创建完vue3 electron项目后,现在要实现在渲染进程中点击按钮创建一个新的子窗口

开始

子窗口创建操作只能在主线程内完成,而创建操作是在渲染线程触发,因此就需要进行两者间的通讯。

1、创建子窗口

background.js

//引入ipcMain
import { app, protocol,nativeImage, BrowserWindow,ipcMain } from 'electron'
...
...
// 创建提醒窗口function openChildWindow(e) {var childWin = new BrowserWindow ({width: 330,height:170,title:'待办提醒',alwaysOnTop:true,x:e.screenWidth-330,y:e.screenHeight-170,autoHideMenuBar: true,webPreferences: {nodeIntegration: true,contextIsolation: false,}})if (process.env.WEBPACK_DEV_SERVER_URL) {// 开发环境跳转路由,/remind就是配置的路由地址,并携带参数childWin.loadURL(process.env.WEBPACK_DEV_SERVER_URL + `#/remind?id=${e.id}`)if (!process.env.IS_TEST) childWin.webContents.openDevTools()} else {// 打包后跳转地址 /remind就是配置的路由地址createProtocol('app')childWin.loadURL(`app://./index.html#/remind?id=${e.id}`);}childWin.on("close", function(){childWin = null;})}// ipc通讯,触发创建操作ipcMain.on('on-open-event', (e,data) => {openChildWindow(JSON.parse(data))})

2、新建preload.js

const { ipcRenderer } = require('electron');window.myApi = {openWindow: (e) => {console.log(e);ipcRenderer.send('on-open-event',JSON.stringify(e))},
}

3、在background.js的创建主窗口配置中引入preload.js文件

...
...
const win = new BrowserWindow({width: 400,height: 700,title:'待办记事本',frame: false, // 去掉窗口边框 // 取消默认的头部;自定义头部autoHideMenuBar: true, // 隐藏菜单栏autoHideMenuBar: true,icon:path.join(__dirname, '../public/logo.ico'),webPreferences: {nodeIntegration: true,contextIsolation: false,enableRemoteModule: true,preload: path.resolve(__dirname, "./preload.js")},})
...
...

4、在vue页面中调用,创建子窗口方法

// 打开子窗口
function open(e){e.screenHeight = window.screen.heighte.screenWidth = window.screen.width// e是我带过去的一些参数,不需要可以不用管,自行调整一下window.myApi.openWindow(e)
}

相关文章:

2、electron vue3 怎么创建子窗口,并给子窗口路由传参

接上回初始化vue3 electron项目,创建完vue3 electron项目后,现在要实现在渲染进程中点击按钮创建一个新的子窗口 开始 子窗口创建操作只能在主线程内完成,而创建操作是在渲染线程触发,因此就需要进行两者间的通讯。 1、创建子窗…...

8.pod数据持久化

💂 个人主页: Java程序鱼 💬 如果文章对你有帮助,欢迎关注、点赞、收藏(一键三连)和订阅专栏 👤 微信号:hzy1014211086,想加入技术交流群的小伙伴可以加我好友,群里会分享学习资料、学习方法…...

C语言 | Leetcode C语言题解之第436题寻找右区间

题目: 题解: typedef struct {int start;int index; } Node;int cmp(const void *pa, const void *pb) {return ((Node *)pa)->start - ((Node *)pb)->start; }int* findRightInterval(int** intervals, int intervalsSize, int* intervalsColSiz…...

SpringBoot3中ymal配置文件(持续更新)

博客主页:音符犹如代码系列专栏:JavaWeb关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 在SpringBoot项目中,使用application.properties进行配置管理时,…...

Linux 基础IO 2

读取与写入 read与fread 在基础IO 1中我们学会了open和fopen的函数这两个函数是用于为进程打开文件也可以理解为为进程和文件建立了一个链接使其可以交互。那我们建立号链接之后肯定还是需要对文件进行操作,现在我们先来了解读取操作。 read: 这是一…...

图像预处理 图像去噪之常见的去噪方法

图像去噪是图像预处理中的一项关键技术,其目的是从含有噪声的图像中恢复出无噪声的图像,以提高图像质量和后续图像分析的准确性。图像去噪方法众多,本文将介绍几种常见的去噪方法,并提供相应的代码示例。 1. 均值滤波&#xff08…...

代码随想录Day53|102.沉没孤岛 、103.水流问题 、104.建造最大岛屿

102.沉没孤岛 import java.util.*;class Main{public static int[][] dir {{0,1},{1,0},{0,-1},{-1,0}};public static void main (String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int m sc.nextInt();int[][] grid new int[n][m];for(int i 0…...

19c-pfile

经常需要rman恢复测试,创建一个单机pfile,需要时手动修改使用,以20g内存为例 orcl.__data_transfer_cache_size0 orcl.__db_cache_size13824425984 orcl.__inmemory_ext_roarea0 orcl.__inmemory_ext_rwarea0 orcl.__java_pool_size0 orcl._…...

智能软件开启精准品牌控价

在当今竞争激烈的商业世界中,品牌的价值如同璀璨的明珠,需要精心呵护。而价格管控,则是守护这颗明珠的关键防线。 当面对众多的产品和 SKU 时,传统的人力监测已显得力不从心。此时,力维网络自主开发的数据监测系统如同…...

OpenCV特征检测(8)检测图像中圆形的函数HoughCircles()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在灰度图像中使用霍夫变换查找圆形。 该函数使用霍夫变换的一种修改版本在灰度图像中查找圆形。 例子&#xff1a; #include <opencv2/imgp…...

spark 大表与大表join时的Shuffle机制和过程

在 Spark 中&#xff0c;当处理大表与大表的 JOIN 操作时&#xff0c;通常会涉及到 Shuffle 机制&#xff0c;这是分布式计算中用于重新分布数据的关键步骤。Shuffle 的本质是将数据按照某种方式重新分组&#xff0c;使得相同 key 的数据能够被发送到同一个计算节点进行后续的操…...

大厂面试真题:简单说下Redis的bigkey

什么是bigkey bigkey是指key对应的value所占的内存空间比较大&#xff0c;例如一个字符串类型的value可以最大存到512MB&#xff0c;一个列表类型的value最多可以存储23-1个元素。 如果按照数据结构来细分的话&#xff0c;一般分为字符串类型bigkey和非字符串类型bigkey。 字…...

18 vue3之自动引入ref插件深入使用v-model

自动引入插件后无需再引入ref等 使用自动引入插入无需在import { ref, reactive } from "vue"做这样的操作 npm i unplugin-auto-import - D vite配置 import AutoImport from unplugin-auto-import/vite //使用vite版本 export default defineConfig({plugins: [v…...

【Spring】lombok、dbUtil插件应用

一、lombok插件 1. 功能&#xff1a;对实体类自动&#xff0c;动态生成get、set方法&#xff0c;无参、有参构造..... 2. 步骤&#xff1a; &#xff08;1&#xff09;idea安装插件(只做一次) &#xff08;2&#xff09;添加坐标 &#xff08;3&#xff09;编写注解 NoArgsCo…...

【学习笔记】WSL

WSL 1、 介绍 1.1、概述 1.2、版本 1.3、配置安装 2、 基本 2.1、基本命令 1、 介绍 1.1、概述 WSL 是 Windows Subsystem for Linux 的缩写&#xff0c;中文称为 Windows 下的 Linux 子系统。它是微软在 Windows 上提供的一种功能&#xff0c;允许用户在 …...

python assert 断言用法

语法&#xff1a; try:assert 条件表达式, "可选的错误消息" except AssertionError as error:print(f"断言失败&#xff1a;{error}")其中&#xff0c; try...except是异常处理语法结构&#xff0c;try可以测试代码块中的错误&#xff0c;并在出现异常时…...

MySQL事务、索引、数据恢复和备份

MySQL事务、索引、数据恢复和备份 1.MySQL的事务处理 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQL语句出错&#xff0c;则该批次内的所有SQL都将被取消执行 MySQL的事务实现方法 : SET AUTOCOMMIT 使用SET语句来改变自动提交模式 SET AUTOCOMMIT 0; # 关…...

什么是chatgpt?国内有哪些类gpt模型?

什么是ChatGPT&#xff1f; “ChatGPT”这个名字越来越多地出现在我们的生活中。简单来说&#xff0c;ChatGPT是OpenAI开发的一种人工智能对话模型。它基于GPT&#xff08;Generative Pre-trained Transformer&#xff0c;生成式预训练变换模型&#xff09;架构&#xff0c;能…...

ISP基本框架及算法介绍 ISP(Image Signal Processor)

ISP基本框架及算法介绍 ISP(Image Signal Processor)&#xff0c;即图像处理&#xff0c;主要作用是对前端图像传感器输出的信号做后期处理&#xff0c;主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等&#xff0c;依赖于ISP才能在不同的光学条件…...

Stable Diffusion 的 ControlNet 主要用途

SD&#xff08;Stable Diffusion&#xff09;中的ControlNet是一种条件生成对抗神经网络&#xff08;Conditional Generative Adversarial Network, CGAN&#xff09;的扩展技术&#xff0c;它允许用户通过额外的输入条件来控制预训练的大模型&#xff08;如Stable Diffusion&a…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...