0Pricing
Sveltejs Academy · Урок

Именованные слоты с slot="name"

Определяйте несколько точек вставки в компоненте с помощью именованных слотов

«Именованные слоты с slot="name"» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.

Зачем нужны именованные слоты

Компонентам часто требуется несколько точек вставки: например, для заголовка, содержимого и нижнего колонтитула.

Определение именованных слотов

Добавьте атрибут name к элементу слота в дочернем компоненте.

<!-- Layout.svelte -->
<header><slot name="header" /></header>
<main><slot /></main>
<footer><slot name="footer" /></footer>

Заполнение именованных слотов

В родительском компоненте помечайте элементы атрибутом slot="name".

<Layout>
  <h1 slot="header">Title</h1>
  <p>Body</p>
  <p slot="footer">Copyright</p>
</Layout>

Сочетание слота по умолчанию и именованных слотов

Содержимое без атрибута slot заполняет слот по умолчанию. Именованное содержимое направляется в слот с соответствующим именем.

Независимость от порядка

Порядок в родительском компоненте не имеет значения. Каждый слот сопоставляется по имени.

Несколько элементов в одном слоте

Оберните несколько элементов в один контейнер с атрибутом slot, чтобы отправить их в один и тот же слот.

Условные заголовки

Используйте {#if} в родительском компоненте, чтобы при необходимости заполнять именованные слоты.

Распространённые макеты

Этот шаблон отлично подходит для макетов с заголовком, боковой панелью, основной областью и нижним колонтитулом.

Компоненты форм

Компоненты форм могут определять слоты для префикса, суффикса, вспомогательного текста и т. д.

Самодокументирование

Имена слотов описывают интерфейс компонента. Выбирайте понятные имена, например title или actions.

Вспомогательные средства TypeScript

В файлах Svelte на TypeScript можно указать типы слотов с помощью специального обобщённого типа $$Slots.

Быстрая проверка

Как обратиться к именованному слоту?

Резюме

Определите несколько элементов <slot name="..."> в дочернем компоненте и обращайтесь к ним с помощью slot="..." на элементах родительского компонента.

Часто задаваемые вопросы

Урок «Именованные слоты с slot="name"» бесплатный?

Да — полный текст урока «Именованные слоты с slot="name"» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.

Чему я научусь в уроке «Именованные слоты с slot="name"»?

Определяйте несколько точек вставки в компоненте с помощью именованных слотов Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Sveltejs Academy?

Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Именованные слоты с slot="name"»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Sveltejs Academy?

Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Слоты по умолчанию для проецирования содержимого
  2. Именованные слоты с slot="name"
  3. Резервное содержимое слота
  4. Проверка содержимого слота с $$slots
← Назад к Sveltejs Academy