使用 if 块时 Svelte `unexpected character '#'`

Svelte `unexpected character '#'` when using an if block

我正在尝试有条件地在 <textarea> 中显示信息,如下所示:

<script>
  let name = 'world';
</script>

<textarea>
  {#if name}{name}{/if}
</textarea>

这会在编译时抛出 Unexpected character '#'

这里发生了什么?

您不能在 input 个元素内使用 svelte 语法。

什么会起作用:

<script>
  let name = 'world';
</script>

{#if name}
    <textarea>
        {name}
    </textarea>
{/if}

或:

<textarea bind:value={name} />