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

Слоты в Vue: полное руководство

6 min read Vue.js Обновлено 17 Dec 2025
Слоты в Vue — полное руководство
Слоты в Vue — полное руководство

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

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

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

Слот — это «заполнитель» в шаблоне дочернего компонента, который Vue заменяет содержимым, переданным из родительского компонента. В отличие от props (которые передают данные и функции), слоты передают фрагменты шаблона/разметку. Это удобно для создания компонентов-контейнеров — карточек, модальных окон, таблиц и т. п., где структура повторяется, а содержимое меняется.

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

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

В дочернем компоненте определите место для слота с помощью тега . Простейший пример:



В родительском компоненте можно поместить любой HTML между открывающим и закрывающим тегом дочернего компонента — этот HTML попадёт в слот:





Преимущество: дочерний компонент определяет обёртку/каркас, а родитель заполняет содержимое.

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

Если в компоненте несколько участков для вставки, используйте именованные слоты. В дочернем компоненте укажите name у тега slot:





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