Laravel - 如何将数据传递给include

问题描述 投票:10回答:3

所以基本上我的所有视图都在使用header.blade.php,因为我将它包含在我的主布局中。我需要在每个视图中都向header传递数据。因此,是否有办法只向include传递数据,而不是在每个视图中为header传递数据?

php laravel blade
3个回答
3
投票

如果您想发送数据,有一个选择。只是 到包含的视图是使用 查看作曲家. 他们甚至会在试图准备一个观点的情况下开火。@include

view()->composer('header', function($view) {
    $view->with('data', 'some data');
});

37
投票

你不需要这样做。但你可以:

父视图可用的所有变量都将提供给包含的视图。尽管被包含的视图将继承父视图中所有可用的数据,你也可以传递一个额外的数据数组给被包含的视图。

@include('view.name', ['some' => 'data'])

0
投票

实际上,将数据共享给所有视图的最佳和更快的方法可能是只使用

      AppServiceProvider

与Jeff的答案不同,你可以使用share方法代替composer方法,更快地实现你的目标。

只要在AppServiceProvider的boot方法中传递你想要的数据就可以了,就像下面这样。

      public function boot()
{
    View::share('key', 'value');
}

查看更多 这个

© www.soinside.com 2019 - 2024. All rights reserved.