如何将字符串传递给刀片组件?

Jan*_*mer 3 php laravel laravel-blade laravel-components

作为一个例子,有这个组件:

资源/视图/组件/example.blade.php

<div>
    @if($foo === "bar")
        Bar
    @else
        Foo
    @endif
</div>
Run Code Online (Sandbox Code Playgroud)

我渲染得像

@php
   $foo = "bar";
@endphp
<x-example :foo="$foo" />
Run Code Online (Sandbox Code Playgroud)

什么在起作用。但是为了让我的代码看起来更干净,我想将字符串直接传递给组件,但我尝试的以下方法不起作用:

<x-example :foo="bar" />
<x-example :foo='bar' />
<x-example :foo="\'bar\'" />
<x-example :foo="'bar'" />
<x-example :foo=""bar"" />
Run Code Online (Sandbox Code Playgroud)

Unf*_*lux 6

很容易犯的错误,正如 Laravel 文档中关于将数据传递给组件中提到的那样;

您可以使用 HTML 属性将数据传递到 Blade 组件。可以使用简单的 HTML 属性字符串将硬编码的原始值传递给组件。:PHP 表达式和变量应通过使用字符作为前缀的属性传递给组件

因此,请更新使用 Blade 组件的方式,如下所示:

<x-example foo="bar" />
Run Code Online (Sandbox Code Playgroud)