【问题标题】:How to change layout for a full page render inline livewire component如何更改整页渲染内联 livewire 组件的布局
【发布时间】:2022-09-22 20:52:01
【问题描述】:

我想为访客和应用程序页面使用内联 livewire 组件。默认情况下,我知道 livewire 会恢复为 layout.app,而且我知道您可以更新所有整页渲染的默认布局。

我正在阅读此文档https://laravel-livewire.com/docs/2.x/rendering-components,并且能够使用仅拥有blade.PHP 文件的常规方法使其工作。

public function render()
    {
        return <<<\'HTML\'
            <div>
                example page view
            </div>
        HTML;
    }

是否可以从我们直接返回 HTML 的内联组件中的文档中执行此操作?

public function render()
    {
        return view(\'livewire.show-posts\')
            ->layout(\'layouts.guest\');
    }

public function render()
    {
        return <<<\'HTML\'
            <div>
                example page view
            </div>
        HTML; ->layout(\'layouts.guest\'); // something along the lines of this
    }

    标签: laravel laravel-livewire


    【解决方案1】:

    不,这是不可能的。您必须使用 view()->layout() 箭头功能

    【讨论】:

    • 我知道我不能使用箭头功能,我问是否有其他方式来构造渲染方法以允许切换默认值
    • 所以这与能够做到view()-&gt;layout()具有相同的效果
    【解决方案2】:

    也许你可以这样使用它:

    public function render()
        {
            $datas = [
                'data' => 'example page view'
            ];
            
            return view('livewire.show-posts', $data)
                ->layout('layouts.guest');
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 2021-02-14
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      相关资源
      最近更新 更多