Laravel Blade 模板:加载子视图
Blade 的 @include
指令允许你从其它视图中引入 Blade 视图。父视图中所有可用的变量都将在被引入的视图中可用:
<div>
@include('shared.errors')
<form>
<!-- Form Contents -->
</form>
</div>
被包含的视图不仅会继承父视图的所有可用数据,还能够以数组形式向被包含的视图传递额外数据:
@include('view.name', ['some' => 'data'])
如果传递给 @include
一个不存在的视图,Laravel 会抛出错误。想要包含一个不能确定存在与否的视图,需要使用 @includeIf
指令:
@includeIf('view.name', ['some' => 'data'])
想要包含一个依赖于给定布尔条件的视图,可以使用 @includeWhen
指令:
@includeWhen($boolean, 'view.name', ['some' => 'data'])
要包含给定视图数组中第一个存在的视图,可以使用 includeFirst
指令:
@includeFirst(['custom.admin', 'admin'], ['some' => 'data'])
应当尽量避免在 Blade 视图中使用
__DIR__
和__FILE__
魔术常量,因为它们将指向缓存中经过编译的视图的位置。
推荐文章: