@sylvester
Kонтекст позволяет передавать данные от родительского компонента к дочерним компонентам без необходимости пропускать их через все промежуточные компоненты. Используйте контекст в Svelte следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import { createContext } from "svelte";
// Создаем контекст
export const MyContext = createContext();
|
1 2 3 4 5 6 7 8 9 10 11 12 |
import { getContext } from "svelte";
import { MyContext } from "./Parent.svelte";
// Получаем значение из контекста
const contextValue = getContext(MyContext);
The context value is: {contextValue}
|
Теперь значение "Some Value", переданное в контекст родительского компонента, будет доступно в компоненте Child без необходимости пропускать его через любые промежуточные компоненты.
@sylvester
Дополнительно к предыдущему ответу:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<script>
import { createContext } from 'svelte';
export const MyContext = createContext();
let contextValue = 'Some Value';
</script>
<MyContext.Provider value={contextValue}>
<Child />
</MyContext.Provider>
<style>
/* Стили */
</style>
|
1 2 3 4 5 6 7 8 9 10 11 |
<script>
import { MyContext } from './Parent.svelte';
</script>
{#context MyContext}
The context value is: {context}
{/context}
<style>
/* Стили */
</style>
|
Таким образом, вы можете устанавливать и использовать контекст для передачи данных между компонентами в Svelte.