1

当我加载页面时,$greeting显示正确的值。

出于某种原因,当我更改input.

App.svelte

<script>
    import { name, greeting } from './stores.js';
</script>

<h1>{$greeting}</h1>
<input value={$name}>

商店.js

import { writable, derived } from 'svelte/store'

export const name = writable('world')

export const greeting = derived(
    name,
    $name => `Hello ${$name}!`
)
4

1 回答 1

4

你需要bind:value这样input

<input bind:value={$name}>

您拥有它的方式仅适用于页面加载。在那之后,它没有在听变化input,这就是为什么$name没有更新。

bind:value类似于onchange在 HTML 中做的:

<input
    onchange="event => name.set(event.target.value)"
    value={$name}
>
于 2019-05-03T11:27:45.303 回答