我目前正在使用 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
共享不一样this.$store
loginWindow
.close()
有什么方法可以将它传递Vuex this.$store
到我的新窗口,这样我就不必mainWindow
不断地隐藏它,改变它的视图,而且我希望能够拥有其他依赖的窗口(朋友列表等)关于Vuex
国家。
希望这不会太令人困惑,如果您需要澄清只是问。谢谢。