将字符串而不是变量传递给 blade 文件中的 child Livewire 组件
Passing strings instead of variables to child Livewire components in blade files
我是 Livewire 的新手,我了解如何轻松地将变量传递给 blade 文件中的 Livewire 组件。下面的代码就是这样做的。
@php
$CAR_MAKE = "carMake";
$main_classes = "text-sm md:text-lg border-2";
$placeholder = "Search";
@endphp
<div class="flex mb-4 md:mb-9">
<livewire:components.select :classes="$main_classes" :name="$CAR_MAKE" :placeholder="$placeholder" />
</div>
但它需要先在 PHP 标签内创建变量,然后我才能将变量传递给“select”livewire 组件。但它是硬编码数据,我想直接传递数据而不创建变量。这将有助于删除大量额外的 PHP 标记并提高代码质量。那么有没有办法做到这一点?或者如果我可以做些什么来改进它?
我希望得到如下内容(无变量声明):
<div class="flex mb-4 md:mb-9">
<livewire:components.select :classes="text-sm md:text-lg border-2" :name="carMake" :placeholder="Search" />
</div>
将数据传递给组件时,有一个微小的差异将决定所传递的内容是应解析为 PHP 还是应按原样传递。
去掉前面的冒号:
,传递的内容将不再解析为PHP.
<livewire:components.select classes="text-sm md:text-lg border-2" name="carMake" placeholder="Search" />
这也意味着您可以将字符串传入 PHP,方法是在上面的字符串周围加上单引号。这在这里没有多大意义,因为在这种特殊情况下您根本不需要将其视为 PHP,但它演示了如何在参数中使用 PHP 表达式通过。
这两种方法可以混合在一个组件中,就像我在这里展示的那样 - 占位符使用空合并运算符发送一个变量,但如果该变量是 null
,它将默认为“搜索”,而其他参数只是普通字符串。注意 'Search'
周围的单引号使其成为字符串。
<livewire:components.select classes="text-sm md:text-lg border-2" name="carMake" :placeholder="$searchPlaceholder ?? 'Search'" />
我是 Livewire 的新手,我了解如何轻松地将变量传递给 blade 文件中的 Livewire 组件。下面的代码就是这样做的。
@php
$CAR_MAKE = "carMake";
$main_classes = "text-sm md:text-lg border-2";
$placeholder = "Search";
@endphp
<div class="flex mb-4 md:mb-9">
<livewire:components.select :classes="$main_classes" :name="$CAR_MAKE" :placeholder="$placeholder" />
</div>
但它需要先在 PHP 标签内创建变量,然后我才能将变量传递给“select”livewire 组件。但它是硬编码数据,我想直接传递数据而不创建变量。这将有助于删除大量额外的 PHP 标记并提高代码质量。那么有没有办法做到这一点?或者如果我可以做些什么来改进它?
我希望得到如下内容(无变量声明):
<div class="flex mb-4 md:mb-9">
<livewire:components.select :classes="text-sm md:text-lg border-2" :name="carMake" :placeholder="Search" />
</div>
将数据传递给组件时,有一个微小的差异将决定所传递的内容是应解析为 PHP 还是应按原样传递。
去掉前面的冒号:
,传递的内容将不再解析为PHP.
<livewire:components.select classes="text-sm md:text-lg border-2" name="carMake" placeholder="Search" />
这也意味着您可以将字符串传入 PHP,方法是在上面的字符串周围加上单引号。这在这里没有多大意义,因为在这种特殊情况下您根本不需要将其视为 PHP,但它演示了如何在参数中使用 PHP 表达式通过。
这两种方法可以混合在一个组件中,就像我在这里展示的那样 - 占位符使用空合并运算符发送一个变量,但如果该变量是 null
,它将默认为“搜索”,而其他参数只是普通字符串。注意 'Search'
周围的单引号使其成为字符串。
<livewire:components.select classes="text-sm md:text-lg border-2" name="carMake" :placeholder="$searchPlaceholder ?? 'Search'" />