我创建了一个主布局,并以这种方式将其扩展到子视图:
master.blade.php(简短版):
<body>
@section('content')
@foreach($articles as $article)
{{ $article->title }}
@endforeach
@show
</body>
然后是一个名为child.blade.php的儿童视图:
@extends('master')
@section('content')
<p>Some static content</p>
@stop
但是,当我访问带有child.blade.php的页面时,我收到错误:
Undefined variable: articles (View: /app/views/master.blade.php)
为什么我收到此错误?我的child.blade.php中没有这个变量,所以我猜 - 默认情况下,子视图会继承master的变量吗?但为什么?我没有使用@parent
答案 0 :(得分:0)
你真正想要的是View Composer。这样,您可以在多个视图之间共享数据,而无需重复自己。在您的情况下,只要您的child.blade.php视图将被渲染,您将要添加要传递的其他数据。
阅读更多文档:View Composers
如果您不想使用View composer,您需要将文章传递给您的child.balde.php