首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel View::make未呈现

Laravel View::make未呈现
EN

Stack Overflow用户
提问于 2021-08-21 09:58:09
回答 1查看 41关注 0票数 0

我正在制作具有动态布局的Laravel包。

代码语言:javascript
复制
$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)得到的转储文件

代码语言:javascript
复制
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()得到的结果

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-21 10:15:01

您需要使用以下语法将插槽包括在布局刀片视图中:

代码语言:javascript
复制
{!! $slot !!}

这样,slot数据将被呈现,html将被解释。如果您只使用{{ $slot }},html将显示为文本(它是转义的)。

谨慎使用{!! $slot !!},因为$slot内容中的任何javascript都会被执行,这会使您面临潜在的XSS攻击。

确保要么信任内容的来源(例如,仅限管理员),要么在用户发布的情况下对其进行清理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68871959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档