当我在页面上添加svelte组件时,我将创建类的新示例。
import ComponentA from "./Component.svelte";
let component = new ComponentA({...});
<ComponentA/>
并且每次组件销毁并再次创建。
但是我需要保存组件的状态。
(例如:块的显示,块的位置,文本等)
创建新样本时,可以将其放入全局变量中。我可以从全局输出吗?那是真的吗?
答案 0 :(得分:0)
首先,了解stores。
例如,将滚动位置保存在App.svelte组件中(如果更改组件或...,则不会丢失滚动位置):
在您的store.js中导出变量
export const AppY = writable(0);
然后将(App.svelte组件的svelte:scrollY的)Y位置绑定到变量。
在您的App.svelte中:
import { AppY } from "../stores.js";
// some code
let Y = ... // bind your svelte:scrollY here
$: $AppY = Y;
现在,您在可写存储中拥有scrollY位置。要长时间保存此职位,可以使用 localStorage 。