https://laravel.com/docs/8.x/blade#rendering-components
是否可以将渲染的组件传递给变量? 我的意思是这样的:
@php
$alert = <x-alert/> //how to get it?
@endphp
{!! $alert !!}
我需要将组件放入变量中才能在其他变量中使用 HTML。
我的“真正”问题:
我有一个 TableHelper 类来生成表头。在一个标题 <th>
我有 <select>
输入。我想用组件 <x-inputs.select/>
{!! (new TableHelper())
->pushTh('wh40', 'lp.')
->pushThSortable('wh150', 'kod produktu', 'product_code')
->pushThSortable('', 'nazwa produktu', 'product_name')
->pushThSortable('wh70', 'ilość do pobrania', 'quantity')
->pushThSortable('wh70', 'stan na<br>MG', 'stock_mg')
->pushThSortable('wh70', 'stan na<br>PT', 'stock_pt')
->pushThSortable('wh70', 'stan na<br>'.Form::select('', ['' => '--', 1 => 'MG', 2 => 'PT'], null, ['class' => 'form-control input-sm']), 'stock')
->pushThSortable('wh50', '')
->pushTh('wh70')
!!}
结果是:screenshot
答案 0 :(得分:0)
没有。组件的呈现方式与作为 php 变量的存储不兼容。这也不是一个很好的关注点分离。
您希望将组件作为变量保存的目标是什么?
组件无论如何都可以多次使用,所以不需要这个原因。
因此,我认为这是有条件的。在这种情况下,我建议在刀片 @if
语句(或类似语句)中引用该组件,例如:
@if ($error)
<x-alert />
@endif
没有更多细节很难说更多。随意添加更多代码供人们查看。