@jazzus

Как данные для именованных слотов вынести в отдельный модуль?

Если я вставлю данные для именованных слотов в компонент то все работает.
<template>
<span>
<template v-slot:top>
 top content
</template>

<template v-slot:buttons>
 buttons
</template>

<template v-slot:footer>
 footer content
</template>
</span>
</template>


теперь если я вынесу часть данных в новый компонент
<template>
<span>
<slots>
</slots>

<template v-slot:footer>
 footer content
</template>
</span>
</template>

то не работает. can only appear at the root level inside the receiving component
Есть ли способ вынести эти данные для двух слотов в отдельную часть? Нужно для использования в других компонентах и не дублирования кода и, чтобы не нужно было выносить содержание слотов в компоненты. Т.е. для быстроты и простоты.
  • Вопрос задан
  • 563 просмотра
Решения вопроса 1
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
Нет. Слот — это часть текущего компонента. Но вы можете вынести не сами слоты, но их содержимое
<template>
  <span>
    <template v-slot:top>
      <top-content />
    </template>

    <template v-slot:buttons>
      <buttons />
    </template>

    <template v-slot:footer>
      footer content
    </template>
  </span>
</template>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы