audioSource를 만들고 관리하는 클래스 (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>
구성 요소 내부에는 인스턴스가 하나뿐이므로 다른 구성 요소와 속성 바인딩을 통해 해당 인스턴스를 공유합니다.
하지만이 클래스를 한 번 인스턴스화하고 앵귤러 서비스처럼 모든 앱에 액세스 할 수있는 방법을 찾으려고합니다.
감사합니다
이를 간단한 구성 요소에서 인스턴스화하는 대신 일반 스크립트 파일에서 인스턴스화 할 수 있습니다.
// 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>
인스턴스화는 한 번만 발생합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다