2016-07-19 2 views
0

Попытка выяснить, как ссылаться на мой объект Tray. Он был создан, но по какой-то причине я не могу понять, как назвать его для справки. Попытка с помощью консоли разработчика ...

require('electron').remote.Tray

Это, кажется, чтобы получить нативную функцию для лотка ... Я попытался remote.getTray() и несколько других .. Я использую electron-vue. Вот моя установка electron.js.Лоток в электроне

'use strict' 

const electron = require('electron') 
const path = require('path') 
const app = electron.app 
const BrowserWindow = electron.BrowserWindow 
var {Menu, Tray} = require('electron') 

let tray = null 
app.on('ready',() => { 
    tray = new Tray(__dirname + '\\icons\\twitch.ico') 
    const contextMenu = Menu.buildFromTemplate([ 
    {label: 'Item1', type: 'radio'}, 
    {label: 'Item2', type: 'radio'}, 
    {label: 'Item3', type: 'radio', checked: true}, 
    {label: 'Item4', type: 'radio'} 
    ]); 
    tray.setToolTip('Welcome') 
    tray.setContextMenu(contextMenu) 
}) 
... 

Я не знаю, как правильно его исправить. Here is the Tray Documentation
Моя конечная цель состоит в том, чтобы использовать некоторые из Instance Методы (находится в Tray документации)

Спасибо!

+0

«Это, кажется, чтобы получить нативную функцию для лотка» - Есть вы пытались добавить '()' после этого, чтобы вызвать эту функцию? – sokkyoku

+0

Да, нет возврата. Это требует конструктора, который я считаю – Kaiser

+0

Лоток init (новый лоток) не поддерживает .ico, попробуйте использовать .jpg или .png вместо этого. –

ответ

0

Для взаимодействия между вашим пользовательским интерфейсом и электронным экземпляром вам необходимо использовать ipcMain и ipcRenderer.

Допустим, вы написали следующее в файле *.vue:

const electron = require('electron'); 
const ipcRenderer = electron.ipcRenderer; 
..... 
..... 
ipcRenderer.on('interactionSignalFromUI'); 

Затем снова в electron.js установки вам нужно просто позвонить: