Svelte で条件付き遷移を定義するにはどうすればいいですか? 質問する

Svelte で条件付き遷移を定義するにはどうすればいいですか? 質問する

Svelte では、次の方法でトランジションを追加できます。

<div in:fade={{duration: 150}}>...</div>

次のような条件付き HTML 属性を使用することも可能です。

<input disabled={null}>

これはトランジションでは機能しません:

<div in:fade={null}>...</div>

config オブジェクトを期待しているため、次のエラーがスローされます。

null のプロパティ「delay」を読み取ることができません

では、Svelte で条件付き遷移を追加する適切な方法は何でしょうか?

それ以外:

{#if animate}
    <div in:fade></div>
{:else}
    <div></div>
{/if}

ベストアンサー1

遷移に、期間 0 (実質的には瞬時) で構成オブジェクトを渡すことができます。

<script>
    import { fade } from 'svelte/transition'
    
    export let animate
</script>

<div in:fade={{ duration: animate ? 500 : 0 }}>
    ...
</div>

おすすめ記事