Laravel - 如何传递数据以包含
Laravel - How to pass data to include
所以基本上我所有的视图都使用 header.blade.php 因为我将它包含在我的主布局中。我需要在每个视图上将数据传递给 header。有没有一种方法可以将数据仅传递给包含而不是在每个视图中传递 header 的数据?
你不需要这样做,but you can:
All variables that are available to the parent view will be made
available to the included view. Even though the included view will
inherit all data available in the parent view, you may also pass an
array of extra data to the included view:
@include('view.name', ['some' => 'data'])
如果您尝试 仅 向包含的视图发送数据,一个选项是使用 view composer。即使在尝试为 @include
准备视图的情况下,它们也会触发
view()->composer('header', function($view) {
$view->with('data', 'some data');
});
实际上,向所有视图共享数据的最好和更快的方法可能只是使用
AppServiceProvider
您可以使用 share 方法而不是 composer 方法来代替 Jeff 的回答,从而更快地实现您的目标。
只需在 AppServiceProvider 的启动方法中传递您想要的数据,如下所示
public function boot()
{
View::share('key', 'value');
}
更多检查this
所以基本上我所有的视图都使用 header.blade.php 因为我将它包含在我的主布局中。我需要在每个视图上将数据传递给 header。有没有一种方法可以将数据仅传递给包含而不是在每个视图中传递 header 的数据?
你不需要这样做,but you can:
All variables that are available to the parent view will be made available to the included view. Even though the included view will inherit all data available in the parent view, you may also pass an array of extra data to the included view:
@include('view.name', ['some' => 'data'])
如果您尝试 仅 向包含的视图发送数据,一个选项是使用 view composer。即使在尝试为 @include
view()->composer('header', function($view) {
$view->with('data', 'some data');
});
实际上,向所有视图共享数据的最好和更快的方法可能只是使用
AppServiceProvider
您可以使用 share 方法而不是 composer 方法来代替 Jeff 的回答,从而更快地实现您的目标。
只需在 AppServiceProvider 的启动方法中传递您想要的数据,如下所示
public function boot()
{
View::share('key', 'value');
}
更多检查this