<!-- App.svelte -->
<script>
import { count, count2 } from "./store.js";
const increment = () => {
count.update((v) => v + 1);
};
const reset = () => {
count.set(0);
};
</script>
<p>
{$count} * 2 = {$count2}
</p>
<button on:click="{increment}">
increment
</button>
<button on:click="{reset}">
reset
</button>// store.js
import { writable } from "svelte/store";
export const count = writable(0);
export const count2 = derived(count, (value) => value * 2);<!-- App.svelte -->
<script>
import { count } from "./store.js";
</script>
<p>
{$count}
</p>
<button on:click="{count.increment}">
increment
</button>
<button on:click="{count.decrement}">
increment
</button>
<button on:click="{count.reset}">
reset
</button>import { writable } from "svelte/store";
function createCount() {
const { subscribe, set, update } = writable(0);
return {
subscribe,
increment: () => {},
decrement: () => {},
reset: () => {},
};
}
export const count = createCount();<!-- App.svelte -->
<script>
import Box from "./Box.svelte";
import Box2 from "./Box2.svelte";
</script>
<!-- basic -->
<Box>slot</Box>
<!-- default -->
<Box />
<!-- name -->
<Box2>
<span slot="heading">title</span>
</Box2>
<Box2>
<span slot="content">div balabala</span>
</Box2>
<!-- Box.svelte -->
<div>
<slot>
<p>default value</p>
</slot>
</div>
<!-- Box2.svelte -->
<div>
<h1>
<slot name="heading" />
</h1>
<p>
<slot name="content" />
</p>
</div>