Гид по технологиям

Слоты в Vue: как передавать содержимое от родителя к дочернему компоненту

5 min read Vue.js Обновлено 02 Apr 2026
Слоты в Vue: передача шаблона от родителя к ребёнку
Слоты в Vue: передача шаблона от родителя к ребёнку

Две женщины работают вместе за ноутбуком

Что такое слоты?

Слоты в Vue — это специальные плейсхолдеры внутри шаблона дочернего компонента. Они дают возможность динамически вставлять в компонент произвольное HTML-содержимое, которое определяется в компоненте-родителе.

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

Important: слот не является заменой логики. Для передачи функций и сложных данных используйте пропсы и события.

Базовый синтаксис слотов

Vue позволяет объявить слот в шаблоне дочернего компонента с помощью тега . Ниже — минимальный пример дочернего компонента, который содержит один слот.


  
  

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

Пример использования в компоненте-родителе:


  
  
import ChildComponent from './components/ChildComponent.vue';  
  
  
  

Примечание: в коде выше строки внутри тега ChildComponent будут рендериться вместо .

Именованные слоты

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

Пример дочернего компонента с двумя слотами “title” и “body”:


  
  
    
  

Чтобы передать содержимое в именованные слоты, в родителе используйте директиву v-slot, обычно на теге        

Шортхенд v-slot — это символ #, поэтому