【Eelectron-vue】构建桌面应用(19)-electron的监听事件on和once

最近在搞Electron-vue的项目,由于之前没做过这种客户端的开发,所以在开发的过程中一直磕磕绊绊,碰到各种异常的情况,而且网上的资料很少,很多问题都找不到解决办法,而且很多博客都是重复的。一篇博客被很多人转载,而且有的博主会把自己的一片文章发布到不同的平台上,这就导致在搜索的时候,看到很多篇一样的文章,而且都是不能解决问题的,就很烦。

好了闲话少说,这里只是吐槽一下网上千篇一律的博客。我所碰到的问题是这样的。

我做的客户端挺简单的,只有登录页,主页面以及修改密码页,所以页面要展示的东西不是很多,由于主页面没有什么可以展示的,所以几乎所有的操作都会放到托盘中处理,这样可以减少页面由于没有内容而导致的空白太多。就像下面这样简单地浮条,类似于搜狗输入法似的。而且登录后默认会隐藏到托盘中,用户点击托盘图标才会展示。
在这里插入图片描述
基于上面的描述,我会把主页面的功能都集中在托盘中,如下。
在这里插入图片描述

修改密码会从主页面切换到修改页面,
注销功能会从主页面切换到登录页面,
退出功能是直接退出销毁窗口。

其中的修改密码和注销功能,都是从主进程渲染进程中发送请求,渲染进程收到请求进行页面跳转。

如果是主进程主动发起事件,那就必须使用窗口发送事件请求mainWindow.webContents.send,然后在渲染进程中监听事件,做一些逻辑处理。无论是主进程主动发送事件还是渲染进程主动发送,然后主进程监听到再次发送事件。渲染进程都需要使用on或者once去做监听。

once: 建立一次性的监听,当监听事件触发执行后,便会销毁该事件监听。
on: 建立永久性监听,即会持续监听该事件的触发,这样可以在程序的生命周期中不断地监听事件触发。

好了,知道上面的两种监听方式的区别,我们来看看实际操作会碰到什么问题。

我是在App.vue中用<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值