包括部分视图
使用 Blade,你还可以将部分视图(称为 partials
)直接包含在页面中,如下所示:
@include('includes.info', ['title' => 'Information Station'])
上面的代码将包含’views / includes / info.blade.php’中的视图。它还将传递一个值为’Information Station’的变量 $title
。
通常,包含的页面可以访问调用页面可以访问的任何变量。例如,如果我们有:
{{$user}} // Outputs 'abc123'
@include('includes.info')
并且’includes / info.blade.php’具有以下内容:
<p>{{$user}} is the current user.</p>
然后页面将呈现:
abc123
abc123 is the current user.
包括每个
有时,你需要将 include
语句与 foreach
语句组合,并从 include 中的 foreach 循环中访问变量。在这种情况下,使用 Blade 的 @each
指令:
@each('includes.job', $jobs, 'job')
第一个参数是要包含的页面。第二个参数是要迭代的数组。第三个参数是分配给数组元素的变量。上述声明相当于:
@foreach($jobs as $job)
@include('includes.job', ['job' => $job])
@endforeach
你还可以将可选的第四个参数传递给 @each
指令,以指定在数组为空时显示的视图。
@each('includes.job', $jobs, 'job', 'includes.jobsEmpty')