如何使用Svelte框架操作DOM

rab*_*prj 1 dom svelte

我对Svelte框架很陌生。最近,我在玩Svelte,但感到困惑,我该如何像使用jQuery在jQuery中使用Svelte那样操作DOM。

我正在尝试显示/隐藏<li>按钮单击。

Ric*_*ris 8

在Svelte和其他状态驱动的UI框架中,很少会操作DOM。相反,您实际上是告诉框架DOM 对于某些给定数据应该是什么样,并让它找出所有细节。

因此,要显示或隐藏元素以响应按钮单击,您需要执行以下操作(REPL链接):

<button on:click='set({ visible: !visible })'>toggle visibility</button>

{{#if visible}}
  <p>hello!</p>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

或者,如果您想将元素保留在DOM中但将其隐藏(REPL链接):

<button on:click='set({ visible: !visible })'>toggle visibility</button>

<p hidden='{{!visible}}'>hello!</p>
Run Code Online (Sandbox Code Playgroud)

与手动操作DOM相比,这要好得多,因为您可以更改所有详细信息-它是什么类型的元素,因此可以使用什么jQuery选择器作为目标,是否还需要根据更改其他内容visible,等等-无需重写所有代码。