将数据传递到随附的刀片视图

时间:2019-09-01 08:45:40

标签: laravel laravel-blade

假设我有以下主要观点:

<div>
    <div>
        @yield('content')
    </div>

    <div>
        @include('sidebar')
    </div>

    <div>
        @include('footer')
    </div>
</div>

我如何确保包含的视图具有自己的数据?例如,在侧边栏中,我想显示新的博客文章评论。在页脚中,我想显示新用户和博客文章。也许使用@include不是实现此目的的正确方法?

4 个答案:

答案 0 :(得分:0)

在这种情况下,您可能要使用View Composers

答案 1 :(得分:0)

View Composer中编写逻辑,然后在引导方法中使用服务提供商调用它

View::composer(
    ['partials.content', 'partials.sidebar', 'partials.footer], 'App\Http\ViewComposers\MyViewComposer'

);

答案 2 :(得分:0)

我已经尝试过了,并且可以和我一起工作:

@include('content',array("key"=>"value")) 

答案 3 :(得分:0)

在您的应用程序中,应用程序服务提供商的启动方法会执行类似的操作

View::composer('sidebar',function($view){
$comments= Blog::latest()->comments;
  $view->with('comments',$comments);
})

View::composer('footer',function($view){
$users= User::latest();
  $view->with('users',$users);
})

//侧边栏

然后在视图文件中执行类似的操作

@foreach($comments as $comment)
 {{$comment->data}}
@endforeach`