0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Svelte】slotについて

Posted at

Slot

子コンポーネントに<slot />タグを持たせることで、親コンポーネントから子コンポーネントに要素の受け渡しができる。

Child.svelte

<div class="">
    <slot />
</div>
Parent.svelte

<Child>
    <span>この内容がこコンポーネントの要素として受け渡される</span>
</Child>

名付けをしてこ要素に受け渡すこともできる。
親コンポーネントでは<span slot="名前">受け渡したい値</span>、子コンポーネントでは<slot name="名前"/>のように指定して受け渡しができる。

Child.svelte

<div class="card">
	<header>
		<slot name="telephone" />
		<slot name="company" />
	</header>
	
	<slot />

	<footer>
		<slot name="address" />
	</footer>
</div>
Parent.svelte

<main>
	<Child>
		<span>Patrick BATEMAN</span>
		<span>Vice President</span>

		<span slot="telephone">212 555 6342</span>

		<span slot="company">
			Pierce &amp; Pierce
			<small>Mergers and Aquisitions</small>
		</span>
		
		<span slot="address">358 Exchange Place, New York, N.Y. 100099 fax 212 555 6390 telex 10 4534</span>
	</Child>
</main>

スタイルに関しては、親コンポーネントで指定するか、子コンポーネントの中で:global(タグ名)を指定してスタイルの変更ができる。

slotタグの中に要素を入れることで、受け渡されなかった場合に出力する値を指定することができる。

Child.svelte

    <slot>
        <i>何も受け渡されなかった場合、この文章が表示される</i>
    </slot>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?