0

我最近在我的一门课程中开始使用 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 作为解决方案,但我认为可能有一种更简单的方法来做到这一点。

那么,正如标题中所问的,我如何将数据从祖父组件传递到他的孙子组件之一?

谢谢 !

4

0 回答 0