私は現在、これまでのところ素晴らしいElectronを使用してアプリケーションを構築しています。VuexとElectronは新しいウィンドウに新しいウィンドウを表示します
私はそれが新しいウィンドウを開くことができます場合、私は思ったんだけど(...プロフィールとなど認証されている)私のアプリ、主にユーザー状態の主な状態を管理するために
をVue.js
とVuex
を使用しています、メインウィンドウと同じVuex
の状態を持つ
私は現在、ユーザーが認証されていない場合、アプリの起動時にログインウィンドウを表示しています。
function createLoginWindow() {
loginWindow = new BrowserWindow({ width: 600, height: 300, frame: false, show: false });
loginWindow.loadURL(`file://${__dirname}/app/index.html`);
loginWindow.on('closed',() => { loginWindow = null; });
loginWindow.once('ready-to-show',() => {
loginWindow.show();
})
}
、この機能を発射成功した場合、ユーザーは、ログインフォームは、ん:
function showMainWindow() {
loginWindow.close(); // Also sets to null in `close` event
mainWindow = new BrowserWindow({width: 1280, height: 1024, show: false});
mainWindow.loadURL(`file://${__dirname}/app/index.html?loadMainView=true`);
mainWindow.once('resize',() => {
mainWindow.show();
})
}
このすべての作品とすべて、唯一の問題はmainWindow
はそのloginWindow
と同じthis.$store
を共有しない、ありますそれは.close()
'd
私は新しいウィンドウにVuex this.$store
を渡す方法はありませんので、私はすべてを詰め込む必要はありません。mainWindow
それを非表示にしたり、そのビューを変更したり、Vuex
状態に依存する他のウィンドウ(フレンドリストなど)を持たせたいと思っています。
あなたが明確にする必要がある場合は、これだけ混乱しないようにしてください。ありがとう。