gpt4 book ai didi

svelte - Svelte 中的单例

转载 作者:行者123 更新时间:2023-12-04 00:53:33 27 4
gpt4 key购买 nike

我正在尝试制作一个 Svelte 应用程序,其中我有一个创建 audioSource 并管理它的类(不是 svelte 组件)。
我想跨多个组件获取此类实例。
现在,我发现的唯一方法是这样做:

<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>
在组件内部,所以我确定只有一个实例,并通过属性绑定(bind)与其他组件共享该实例。
但我试图找到一种方法,我可以一次实例化这个类并访问它,就像使用角度服务一样访问所有应用程序。
谢谢你

最佳答案

您可以在常规脚本文件中执行此操作,而不是在 svelte 组件中实例化它:

// analyser.ts
import { AudioAnalyser } from "@app/class/audio/AudioAnalyser";
import type { MediaAnalyser } from "@app/types/analyser";

const analyser: MediaAnalyser = new AudioAnalyser();

export default analyser
现在,您可以在任何需要的地方简单地导入它:
<script>
import analyser from './analyser.ts'
</script>
实例化只会发生一次。

关于svelte - Svelte 中的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64493172/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com