Import props into component
<script>
// single export
export let data = "default value"
// get all exported props
$$props.VALUE
</script>
<script context="module">
// export function
export function changeColor() {
//CODE
}
</script>
<h1>Hello {data}</h1>
<script>
import Component, { changeColor } from './Component.svelte'
let data = "Fabian"
let data2 = {
name: "Fabian",
gender: "male"
}
</script>
<!-- single import -->
<Component data={data}/>
<!-- spread import -->
<Component {...data2}/>
<!-- run function -->
<button on:click={changeColor }>
CLICK
</button>
<aside> ⚠️ for reactive variables use this: StackOverflow
</aside>
<script>
import { createEventDispatcher } from 'svelte';
const dispatch = createEventDispatcher();
function sayHello() {
dispatch('message', {
text: 'Hello!'
});
}
</script>
<button on:click={sayHello}>
Click to say hello
</button>
<script>
import Component from './Component.svelte';
function handleMessage(event) {
alert(event.detail.text);
}
</script>
<Component on:message={handleMessage}/>
<script>
export let password
// Run function on prop change
$: { checkStrength(password) }
</script>
<h1>{password}</h1>
<script>
let text = "A button"
export function changeText() {
text = "clicked"
}
</script>
<button>{text}</button>
<script>
import Component from './Component.svelte'
let component
</script>
<button on:click={()=>{component.changeText()}}>
Click to update
</button>
<Component bind:this={component}/>
import code from './+page.svelte?raw'
{#await import(`../../lib/component/${name}.svelte`) then c}
<div>
<svelte:component this={c.default} />
</div>
{/await}