在我的应用程序中,通过Laravel ServiceProvider compose()
方法编译导航:
view()->composer('partials.nav', function($view) {
$navData = // retrieve categories from DB...
$view->with($navData);
});
我收到变量$navData
到我的nav.blade.php
并成功编译导航。但是,我希望在@includes
导航的网页上使用传递给导航的一些数据,例如page.blade.php
:
@include('partials.nav')
<div id="main">
{{ $navData['category'] }}
</div>
但我抛出错误:Undefined variable: $navData
。有没有办法在nav.blade.php
之外访问此变量而不进行任何其他调用?
答案 0 :(得分:0)
您在$navData
中使用page.blade.php
,而不是partials.nav
。所以要使它起作用
view()->composer('partials.nav', function($view) {
与
view()->composer('page.blade.php', function($view) {
或
view()->composer('*', function($view) {
如果您想让$navData
随处可用。
答案 1 :(得分:0)
使用此
view()->composer('partials.nav', function($view) {
$data['navData'] = // retrieve categories from DB...
$view->with($data);
});