面试题答案
一键面试以下是一个Svelte组件示例,展示了如何使用条件逻辑控制部分渲染,并结合生命周期函数在组件首次挂载和销毁前执行特定逻辑:
<script>
import { onMount, onDestroy } from'svelte';
let showComponent = true;
// 组件首次挂载时执行
onMount(() => {
console.log('组件已挂载');
});
// 组件销毁前执行
onDestroy(() => {
console.log('组件即将销毁');
});
</script>
{#if showComponent}
<div>
<p>这是组件要渲染的部分</p>
</div>
{/if}
<button on:click={() => showComponent =!showComponent}>
{showComponent? '隐藏组件' : '显示组件'}
</button>
在上述代码中:
- 使用
{#if}
块实现条件渲染逻辑,只有当showComponent
为true
时,<div>
及其内部内容才会渲染。 - 通过
import { onMount, onDestroy } from'svelte';
引入Svelte的生命周期函数。 onMount
函数在组件首次挂载到DOM时执行,在此示例中,打印组件已挂载
。onDestroy
函数在组件从DOM中移除前执行,在此示例中,打印组件即将销毁
。- 通过按钮的点击事件切换
showComponent
的值,从而控制组件部分的显示与隐藏。