下面是我的视图和控制器,我希望在导航栏视图中可以访问$ name变量,该视图包含在主视图中。有人知道解决方案吗?
userController.php
public function index($var){
$u_array = $var;
$name = $u_array->name;
return view('index',compact(name));
}
master.blade.php
@include('navbar')
<section class="main-container">
@yield('content')
</section>
index.blade.php
@extends('master')
@section('content')
<h2>{{$name}}</h2>
@endsection
navbar.blade.php
<h1>{{$name}}</h1>
答案 0 :(得分:3)
将变量传递给 master.blade ,然后 navbar.blade :
@extends('master', ['name' => $name]) //compact('name')
然后:
@include('navbar', ['name' => $name]) //compact('name')
答案 1 :(得分:2)
您可以在索引视图中使用@section,在导航栏视图中使用@yield
<强> index.blade.php 强>
@extends('master')
@section('content')
<h2>{{$name}}</h2>
@endsection
@section('nav')
<h1>{{$name}}</h1>
@endsection
<强> navbar.blade.php 强>
@yield(nav)
答案 2 :(得分:0)
您应该使用视图编辑器。
view()->composer('master', function ($view) {
$u_array = $var;
$name = $u_array->name;
$view->with(compact(name));
});
如果对您的具体问题有更多解释,我可以帮助您找到更好的选择。