Содержимое слота
Vue реализует API распределения контента используя элемент <slot>
в качестве точек распространения контента.
Например, это позволит составлять такие компоненты:
<navigation-link url="/profile">
Ваш профиль
</navigation-link>
Для этого шаблон <navigation-link>
должен быть например таким:
<a
v-bind:href="url"
class="nav-link"
>
<slot></slot>
</a>
При отрисовке компонента <slot></slot>
будет заменён на «Ваш профиль». Слоты могут содержать любой код шаблона, в том числе HTML:
<navigation-link url="/profile">
<!-- Добавляем иконку из набора Font Awesome -->
<span class="fa fa-user"></span>
Ваш профиль
</navigation-link>
Или даже другие компоненты:
<navigation-link url="/profile">
<!-- Используем компонент для добавления иконки -->
<font-awesome-icon name="user"></font-awesome-icon>
Ваш профиль
</navigation-link>
Если шаблон <navigation-link>
не содержит элемент <slot>
, любой переданный контент будет просто проигнорирован.
Last updated
Was this helpful?