【发布时间】:2020-10-23 02:51:31
【问题描述】:
我正在尝试制作一个 Svelte 应用程序,其中我有一个类(不是 svelte 组件)来创建一个 audioSource 并对其进行管理。
我想跨多个组件获取此类实例。
现在,我发现的唯一方法就是这样做:
<script lang="ts" context="module">
import { AudioAnalyser } from "@app/class/audio/AudioAnalyser";
import type { MediaAnalyser } from "@app/types/analyser";
let analyser: MediaAnalyser = new AudioAnalyser();
</script>
在一个组件内部,所以我确信只有一个实例,并通过属性绑定与其他组件共享该实例。
但我正在尝试找到一种方法,我可以一次实例化此类并访问它,就像使用角度服务一样访问所有应用程序。
谢谢
【问题讨论】:
-
您必须使用 App.svelte 上下文进行初始化。问题是关于范围界定。如果您的范围是整个应用程序,请不要在子组件中实例化。
-
如果我在工作,请纠正我,但目前看来解决方案不适用于 SSR(服务器端渲染)。
标签: svelte