我正在制作具有动态布局的Laravel包。
$this->layout = View::make($this->layout);
$this->layout->header = __($this->form_name);
$this->layout->slot = View::make('form-generator::form')
->with('fields', $this->fields)
->with('route_name', $this->routeName)
->with('update_route_obj', $this->updateRouteObj); // this is not rendering这是我从dd($this->layout)得到的转储文件
Illuminate\View\View {#1392 ▼
#factory: Illuminate\View\Factory {#1373 ▶}
#engine: Livewire\CompilerEngineForIgnition {#1387 ▶}
#view: "layouts_admin.app"
#data: array:2 [▼
"header" => "Create Category"
"slot" => Illuminate\View\View {#1400 ▶}
]
#path: "/resources/views/layouts_admin/app.blade.php"
}这是我从View::make()得到的结果

任何帮助都是非常感谢的。
发布于 2021-08-21 10:15:01
您需要使用以下语法将插槽包括在布局刀片视图中:
{!! $slot !!}这样,slot数据将被呈现,html将被解释。如果您只使用{{ $slot }},html将显示为文本(它是转义的)。
谨慎使用{!! $slot !!},因为$slot内容中的任何javascript都会被执行,这会使您面临潜在的XSS攻击。
确保要么信任内容的来源(例如,仅限管理员),要么在用户发布的情况下对其进行清理。
https://stackoverflow.com/questions/68871959
复制相似问题