Отдельные переменные экземпляра Electron createWindow () - PullRequest
0 голосов
/ 22 января 2019

Я создал приложение Electron, прежде всего веб-приложение, которое имеет небольшую интеграцию с приложением Electron.Большинство просто загружает веб-сайт через BrowserWindow с помощью loadURL.

Однако для каждого созданного CreateWindow (они имеют одинаковое содержимое) мне нужны переменные, влияющие на одно окно, а не на все окна.

В настоящее время, если я изменяю переменную let, они изменяются для всех окон.Я не уверен, как заставить переменные обновляться и использоваться только с определенным значением в определенном окне.

например, если я установлю userId = 1 в одном окне, это также изменится во втором окне, когдаЯ отправляю сообщение ipc через веб-приложение.Я не уверен, что будет лучшей логикой здесь.

1 Ответ

0 голосов
/ 22 января 2019

EDIT

Если вы откроете два отдельных экземпляра окна, как показано ниже, каждая из переменных должна находиться в своем собственном поле.

Просто измените местоположение в main процессе

// Create the browser window.
win = new BrowserWindow({ width: 800, height: 600 })

// and load the index.html of the window.
win.loadURL('https://google.com')

// Create the browser window.
win2 = new BrowserWindow({ width: 800, height: 600 })

// and load the index.html of the window.
win2.loadURL('https://youtube.com')

РЕДАКТИРОВАТЬ 2

Так что, в зависимости от комментария, я думаю, что у меня есть решение для вас. Если вам нужны отдельные переменные для каждого окна, вы можете просто сохранить их в самом объекте окна. Обязательно извлеките их (если они все еще нужны), прежде чем уничтожить объект:)

// Create the browser windows
let win_0 = new BrowserWindow({ width: 800, height: 600 });
let win_1 = new BrowserWindow({ width: 800, height: 600 });

// Set variables
win_0.UID = 'ASDF-ASDF';
win_1.UID = 'QWER-QWER';

// And now you can just get them like
console.log(win_0.UID, win_1.UID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...