Laravel 8 插槽
通常,你需要通过 「slots」 向组件传递附加内容。 假设我们创建的 alert
组件具有以下标记:
<!-- /resources/views/components/alert.blade.php -->
<div class="alert alert-danger">
{{ $slot }}
</div>
我门可以通过向组件注入内容的方式,将内容传递到 slot
:
<x-alert>
<strong>Whoops!</strong> Something went wrong!
</x-alert>
有时候一个组件可能需要在它内部的不同位置放置多个不同的插槽。我们来修改一下 alert 组件,使其允许注入 「title」:
<!-- /resources/views/components/alert.blade.php -->
<span class="alert-title">{{ $title }}</span>
<div class="alert alert-danger">
{{ $slot }}
</div>
您可以使用 x-slot
标签来定义命名插槽的内容。任何没有在 x-slot
标签中的内容都将传递给 $slot
变量中的组件:
<x-alert>
<x-slot name="title">
Server Error
</x-slot>
<strong>Whoops!</strong> Something went wrong!
</x-alert>