我正在尝试制作一个 Svelte 应用程序,其中我有一个类(不是 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>
Run Code Online (Sandbox Code Playgroud)
在组件内部,所以我确信只有一个实例,并通过属性绑定与其他组件共享该实例。
但我正在尝试找到一种方法,可以实例化此类一次并通过所有应用程序访问它,就像使用角度服务一样。
谢谢
Ste*_*aes 13
您可以在常规脚本文件中执行此操作,而不是在 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
Run Code Online (Sandbox Code Playgroud)
现在您只需将其导入到任何需要的地方即可:
<script>
import analyser from './analyser.ts'
</script>
Run Code Online (Sandbox Code Playgroud)
实例化只会发生一次。
归档时间: |
|
查看次数: |
4115 次 |
最近记录: |