首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子.ipcRenderer发射两次

电子.ipcRenderer发射两次
EN

Stack Overflow用户
提问于 2018-03-18 18:20:34
回答 1查看 1.2K关注 0票数 4

我正在(第一次)使用Electron创建一个仅限Mac的小型应用程序。我正在尝试使用ipcRenderer在我的应用程序菜单和主BrowserWindow中的内容之间进行通信。

我将菜单设置如下,以发送消息'select-active':

代码语言:javascript
复制
const {Menu} = require('electron')
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow

const template = [
{
label: 'Fonts',
submenu: [
    {
        label: 'Select All Acitve Fonts',
        accelerator: 'Command+A',
        click (item, focusedWindow) { if(focusedWindow) focusedWindow.webContents.send('select-active') }
    },...

我收到的信息如下:

代码语言:javascript
复制
const ipcRenderer = require('electron').ipcRenderer;

ipcRenderer.on('select-active', function () {
    console.log('SELECTED');
})

我遇到的问题是,每次选择菜单命令时,消息都会在控制台中记录两次。我哪里错了?

EN

回答 1

Stack Overflow用户

发布于 2018-09-24 17:31:19

改用.once怎么样?

代码语言:javascript
复制
ipcRenderer.once('select-active', function () {
console.log('SELECTED');

})

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49346775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档