面试题答案
一键面试- 利用Svelte的事件修饰符:
- 在Svelte中,
preventDefault
修饰符用于阻止默认行为,stopPropagation
修饰符用于阻止事件冒泡。为了防止事件冒泡干扰其他部分逻辑,我们可以在绑定点击事件时使用stopPropagation
修饰符。
- 在Svelte中,
- 条件判断与动画效果:
- 可以在点击事件处理函数中使用条件判断(如
if - else
语句),根据不同的条件执行不同的动画效果。Svelte有内置的过渡和动画功能,可以利用这些来实现动画。
- 可以在点击事件处理函数中使用条件判断(如
- 关键代码片段:
<script>
let condition = true;
function handleClick() {
if (condition) {
// 执行动画1
console.log('执行动画1');
} else {
// 执行动画2
console.log('执行动画2');
}
}
</script>
{#each someArray as item}
<div>
{#each item.subArray as subItem}
<div>
<button on:click|stopPropagation={handleClick}>点击我</button>
</div>
{/each}
</div>
{/each}
在上述代码中,on:click|stopPropagation={handleClick}
表示绑定点击事件并阻止事件冒泡,handleClick
函数中根据condition
的不同值执行不同的动画逻辑(这里只是简单打印,实际应用中可以替换为具体的动画代码,例如使用transition:fade
等Svelte的动画和过渡功能)。someArray
和subArray
是模拟的多层嵌套数据结构。