如何强制 Laravel 在字符串上呈现视图组件?

How to enforcing Laravel to render view components on a string?

我有这个字符串:

<div class="my-card-container">
  <x-card :title="Hello Wordl"></x-card>
</div>

此字符串来自数据库,它存在于 Conent 模型的 html 属性 中。我在 ContentController 中这样使用它:

    public function serve(Request $request, string $uri = ''): View
    {
        $content = Content::whereUri($uri);

        return view('main', [
            'content' => $content->html,
        ]);
    }

在我的 main.blade.php:

@section('content')
<main>
    @include('main.content')
</main>
@stop

我想在我的字符串上呈现任何可用的视图组件。

我能否以某种方式强制 Laravel 在该字符串上应用 CardComponent 或任何其他可用组件

Blade::render() 会帮助你。

试试这个:

    public function serve(Request $request, string $uri = ''): View
    {
        $content = Content::whereUri($uri);

        $content = Blade::render($content);

        return view('main', [
            'content' => $content->html,
        ]);
    }