面试题答案
一键面试-
创建响应式变量: 在Svelte中,可以在
<script>
标签内声明变量来创建响应式变量。例如:<script> let count = 0; </script> <button on:click={() => count++}>Increment {count}</button>
在上述代码中,
let count = 0
声明了一个名为count
的变量,它是响应式的。当点击按钮时,count
的值会增加,并且视图会自动更新以反映count
的新值。 -
视图更新机制: 当在模板中修改响应式变量时,Svelte会使用细粒度的响应式系统。Svelte会跟踪哪些DOM元素依赖于哪些变量。当一个响应式变量的值发生变化时,Svelte会自动找到那些依赖于该变量的DOM部分,并更新它们。
例如,在上面的代码中,按钮的文本内容
Increment {count}
依赖于count
变量。当count
通过按钮点击事件发生变化时,Svelte会检测到这个变化,并仅更新按钮文本中{count}
所对应的DOM部分,而不会重新渲染整个组件。这种细粒度的更新机制使得Svelte在性能上表现出色,尤其是在处理复杂的用户界面时。