将数据发送到 Laravel 5.8 中的视图时未定义的变量
Undefined variable when sending data to a view in Laravel 5.8
我遇到以下问题:我在父控制器 SiteController.
上编写的 renderOutput
方法中加载站点的主要布局(视图)
protected function renderOutput(){
$menu = $this->getMenu();
$navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
$this->vars = array();
$this->vars = array_add($this->vars,'navigation', $navigation);
return view($this->template)->with($this->vars);
}
而在子控制器IndexController
中的index
方法中,我调用了这个方法。并且为了在 index 方法中显示部分(section)滑块,我将 $sliders
变量传递给滑块模板的地址。
public function index(){
//
$sliders = view(env('THEME').".slider")->render();
$this->vars = array();
$this->vars = array_add($this->vars,'sliders',$sliders);
return $this->renderOutput();
}
但是当我在模板中使用这个变量时,我得到一个错误。也就是说,$sliders
变量在模板中不可用。请告诉我如何解决这个问题。提前致谢!
Undefined variable: sliders (View: C:\Users\User\Downloads\Programs\OSPanel\domains\Corporate\resources\views\pink\index.blade.php)
在 renderOutput()
中你正在覆盖 $this->vars
这就是它未定义的原因。
使用:
protected function renderOutput(){
$menu = $this->getMenu();
$navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
$this->vars = array_add($this->vars,'navigation', $navigation);
return view($this->template)->with($this->vars);
}
我遇到以下问题:我在父控制器 SiteController.
renderOutput
方法中加载站点的主要布局(视图)
protected function renderOutput(){
$menu = $this->getMenu();
$navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
$this->vars = array();
$this->vars = array_add($this->vars,'navigation', $navigation);
return view($this->template)->with($this->vars);
}
而在子控制器IndexController
中的index
方法中,我调用了这个方法。并且为了在 index 方法中显示部分(section)滑块,我将 $sliders
变量传递给滑块模板的地址。
public function index(){
//
$sliders = view(env('THEME').".slider")->render();
$this->vars = array();
$this->vars = array_add($this->vars,'sliders',$sliders);
return $this->renderOutput();
}
但是当我在模板中使用这个变量时,我得到一个错误。也就是说,$sliders
变量在模板中不可用。请告诉我如何解决这个问题。提前致谢!
Undefined variable: sliders (View: C:\Users\User\Downloads\Programs\OSPanel\domains\Corporate\resources\views\pink\index.blade.php)
在 renderOutput()
中你正在覆盖 $this->vars
这就是它未定义的原因。
使用:
protected function renderOutput(){
$menu = $this->getMenu();
$navigation = view(env('THEME').".navigation")->with('menu',$menu)->render();
$this->vars = array_add($this->vars,'navigation', $navigation);
return view($this->template)->with($this->vars);
}