私はSvelteプレーン.jsファイルから値を保存できるかどうか疑問に思っています。
ストアの値に基づいて動的な値を返す関数を記述して、任意のコンポーネントにインポートしようとしています。しかし、プレーンな.jsファイルでは、$記号でストア値にアクセスすることはできません。
ストア値を使用し、複数のコンポーネントで使用できる基本的な関数の簡単な例:
//in .svelte
function add() {
$counter = $counter + 1;
}
編集:少し言い換える
編集:解決策を見つけましたが、本当に最適化されているかどうかはわかりません。
//in .js file
import { get } from "svelte/store";
import { counter } from "./stores";
export function add() {
var counterRef = get(counter);
counter.set(counterRef + 1);
}
それは正確にあなたが求めたものではありません(インポート)が、この方法は同じ目的を果たします:ストアを引数として渡すので、.jsにストアをインポートする必要はありません
import {get} from 'svelte/store'
export function add(yourStore) {
let _yourStore = get(yourStore)
yourStore.set(_yourStore + 1)
}
次に、ストアをSvelteコンポーネントにインポートする必要があります。
。jsでのストアのインポートは考慮せず、コンポーネントでのインポートのみを考慮します。