laravel blade 视图中的变量未定义错误

Variable undefined error in laravel blade view

嘿,因为我正在传递一个 blade 视图,它有自己的控制器,我也将它包含在没有自己的控制器的视图中。它给了我一个未定义的变量错误,任何人都可以帮助我如何解决它。

我有一个视图,它没有任何控制器,只有这样的路由 Route::get('index', function () { return view('index'); }); 在这个视图中,我正在传递另一个视图,它有自己的控制器,也有一些来自数组的数据。但是在视图中使用这个视图后我得到了未定义的变量错误。

public function returnTwoViews() {
    $variable = 'foo bar';
    $innerView = view('inner.view', ['variable' => $variable]);

    return view('wrapper.view, ['innerView' => $innerView]);
}

这可能是您要找的东西?

...在您的 wrapper.view 模板中:

{!! $innerView !!}

编辑:回答评论中的问题:为了获取您要在 $innerView 视图中执行此操作的每一行:

@foreach($variable as $item)
    {{ $item }}
@endforeach

... 在包装器视图中它仍然是 {!! $innerView !!}

你可以试试这个:

 public function indexYourViews()
  { 
    $test = "Test Views";
    $secondViews = view('second',compact('test'));

     return view('firstview',compact('secondViews'));
   }

并在您的主视图文件 (firstview) 中声明 {{$secondViews}} 之后。

希望对您有所帮助。

两步:

  1. Controller 函数声明并传输 $variable 到 View。

     public function index()
     {
      return view("index", [ "variable" => $variable ]);
     }
    
  2. 表示从Controller转移$variable出现在view.blade.php[的地方=29=].

     {{ $variable }}
    

如果不确定,$variable是否被转移

{{ isset($variable) ? $variable : '' }}

如果这对任何人有帮助,我完全不知道我的路由没有与相应的控制器函数挂钩,而是直接返回视图,从而导致了这个问题。花了半个小时敲了敲我的头,直到我意识到错误。

编辑

这里再次强调另一个错误。确保您正确传递数组。我正在做 ['key', 'value] 而不是 ['key' => 'value'] 并遇到了这个问题。