Svelte не обновляет производное значение от входа
Когда я загружаю страницу, $greeting
показывает с правильным значением.
По какой-то причине он не обновляется, когда я изменяю текст в input
,
App.svelte
<script>
import { name, greeting } from './stores.js';
</script>
<h1>{$greeting}</h1>
<input value={$name}>
stores.js
import { writable, derived } from 'svelte/store'
export const name = writable('world')
export const greeting = derived(
name,
$name => `Hello ${$name}!`
)
1 ответ
Вам нужно bind:value
на input
вот так:
<input bind:value={$name}>
То, как вы это сделали, будет работать только при загрузке страницы. После этого он не слушал изменения на input
И вот почему $name
не обновлялся
bind:value
похоже на делать onchange
в HTML:
<input
onchange="event => name.set(event.target.value)"
value={$name}
>