laravel @yield 在@include 中不起作用

laravel @yield does not work in @include

我需要将 class 添加到 html

的包含部分
/* file1.blade.php */

<div class="@yield('myclass')"></div>


/* file2.blade.php */

@include('file1')
@section('myclass', 'foo')

但是 @yield 似乎不适用于 @includes。还有其他方法可以做到这一点吗?我无法使用 @extends,因为它会破坏页面。

您可以使用一个简单的变量作为您的 class,并将其作为第二个参数传递到您的包含中。

/* file1.blade.php */

<div class="{{ $myClass }}"></div>


/* file2.blade.php */

@include('file1', ['myClass' => 'foo'])