0

当我在页面上添加苗条组件时,我创建了新的类示例。

import ComponentA from "./Component.svelte";
let component = new ComponentA({...});


<ComponentA/>

并且每次组件销毁并再次创建。
但我需要保存组件的状态。
(例如:块的显示、块的位置、文本等等)
当我创建新的示例时,我可以把它放在全局变量中。我可以从全局输出吗?那是真的吗?

4

1 回答 1

0

首先,了解店铺

例子

例如,将滚动位置保存在 App.svelte 组件中(如果您更改组件或...不会丢失它们):

在您的 stores.js 中导出一个变量

  export const AppY = writable(0);

然后将您的 Y 位置(带有 svelte:scrollY 的 App.svelte 组件)绑定到一个变量。
在您的 App.svelte 中:

  import { AppY } from "../stores.js";
  // some code
  let Y = ... // bind your svelte:scrollY  here
  $: $AppY = Y;

现在您在可写存储中拥有了 scrollY 位置。要长时间保存此位置,您可以使用localStorage

于 2020-04-19T13:55:17.583 回答