我正在 Svelte 中创建一个 Store,它订阅值更改并将值存储在 localStorage 上。
打开页面时,有一个输入标签,其值绑定到商店。一切都按预期进行,刷新后最后一个值就在那里。
我的问题以及我不知道如何实现的内容(如果可能的话)打开同一页面的第二个选项卡,当我输入一个选项卡时,我想看到另一个选项卡上的值更新。
(我知道问题是第二个选项卡不知道 localStorage 更改)
我的黑客解决方案是间隔读取本地存储中的更新值,但这显然是一种黑客攻击,而不是解决方案。
我们该如何解决这样的事情呢?
这是所使用的 2 个文件的要点。https://gist.github.com/MrAmericanMike/b2ddea28e4a4716e43abe03c6211c8b7
我知道有人问过这个问题,但仍然无法找到适合我的情况的解决方案。
我有一个文件,在其中定义了某些值,然后我要循环遍历它们。我在这部分代码中收到错误
preloadImages(){
this.load.setPath("./assets/images");
for (const key in STATIC.IMAGES) {
if (STATIC.IMAGES.hasOwnProperty(key)) {
this.load.image(STATIC.IMAGES[key], STATIC.IMAGES[key]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
投诉来自 STATIC.IMAGES[key] 调用。STATIC 来自一个文件
export const STATIC = {
SCENES: {
LOAD: "LOAD",
MENU: "MENU"
},
IMAGES: {
MENU_BG :"bg.png",
MENU_TITLE: "title.png",
MENU_PLAY: "play.png",
MENU_SETTINGS: "settings.png",
MENU_CREDITS: "credits.png",
MENU_SPEAKER: "speaker.png",
MENU_SPEAKER_MUTE: "speaker_mute.png"
},
SPRITES: {
LOOP: {
name: "loop.png",
size: 64
}
},
AUDIOS: {
BG_MUSIC: "airtone.mp3",
POP: "pop.mp3",
WOOSH: "woosh.mp3"
}};
Run Code Online (Sandbox Code Playgroud)
不确定我明白为什么会发生这种情况以及如何解决它。
我有一个应用程序可以从模块调用此函数。
// APP READY
app.on('ready', createWindow.main);
Run Code Online (Sandbox Code Playgroud)
这样做没有任何问题。
然而当我尝试时
app.on('ready', () => {
console.log('Ready');
createWindow.main;
});
Run Code Online (Sandbox Code Playgroud)
控制台显示“就绪”,但此后没有任何反应。
我的想法是,一旦应用程序准备就绪,我就需要调用不同的函数。
这里可能有什么问题?
我这样调用 windows.js 文件:
const createWindow = require('./windows');
Run Code Online (Sandbox Code Playgroud)
窗口.js
const {session} = require('electron');
const app = require('electron').app;
const BrowserWindow = require('electron').BrowserWindow;
const url = require('url');
const path = require('path');
const settings = require('electron-settings');
// Windows Variables
let mainWindow;
// Functions container
var createWindow = {};
// MAIN WINDOW
createWindow.main = function() {
console.log('Creating main window');
mainWindow = new BrowserWindow({
width: 800,
height: 600 …Run Code Online (Sandbox Code Playgroud)