如何绑定来自 Svelte 子组件的输入值?

Koh*_*ami 2 javascript single-page-application svelte

理想的

我想从子组件获取输入数据。

我试过的

<script>
  import Input from "./Input.svelte";
  let userGoal = "";
</script>

<h1>Your Goal is {userGoal}</h1>

<Input {userGoal} />
Run Code Online (Sandbox Code Playgroud)
<script>
  export let userGoal = "";

  $: console.log(userGoal);
</script>

<input type="text" bind:value={userGoal} />
Run Code Online (Sandbox Code Playgroud)

$: console.log(userGoal);正如我预期的那样,在每个事件中都显示 userGoal。但是,它不会影响父组件。

概括

我是 Svelte 的新手。任何帮助表示赞赏。

Ric*_*ris 8

只需更改<Input {userGoal}/>为:

<Input bind:userGoal/>
Run Code Online (Sandbox Code Playgroud)

演示在这里。如果您想在父级中将其称为其他名称,请执行bind:userGoal={somethingElse}.

这是一个关于组件绑定的教程

  • 因为通常数据应该从父母流向孩子。从孩子到父母的流动应该是例外,谨慎使用。 (2认同)