我最近在我的一门课程中开始使用 Laravel,这些组件看起来非常有前途。不过,我遇到的一个问题是将数据从控制器传递到嵌套组件。
这是我的(过于简单的)设置:
mainframe.blade.php(用作我的布局模板):
<body>
<!-- Navigation-->
<x-main-menu></x-main-menu>
<!-- Page Header-->
<x-master-header :headerText="$headerText"></x-master-header>
{{ $content }}
</body>
master-header.blade.php :
<header>
<h1>{{ $headerText }}</h1>
</header>
最后是 home.blade.php,它“扩展”了我的布局页面:
<x-mainframe>
<x-slot name="content">
*... some content*
</x-slot>
</x-mainframe>
现在,我认为它就像简单地将 $headerText 内容通过我的控制器一样简单,如下所示:
public function home() {
return view("home", [
"headerText" => "Je teste les variables des templates Blade"
]);
}
...但显然,该变量仅传递给初始的“主页”视图,但由于出现错误,因此并未一直传递到我的标题组件。
我一直在阅读 View Composer 作为解决方案,但我认为可能有一种更简单的方法来做到这一点。
那么,正如标题中所问的,我如何将数据从祖父组件传递到他的孙子组件之一?
谢谢 !