Laravel 7 一个 blade 组件同时使用变量和静态信息
Laravel 7 one blade component using both a variable and static information
在 Laravel 7 中,我想使用一个可以接受动态和静态值作为属性的 anonymous Blade component。下面的代码应该可以解释我的意思:
// Scenario 1: dynamic values
<x-alert :type="session('alert.type')" :dismissable="session('alert.dismissable')">
{{ session('alert.body') }}
</x-alert>
// Scenario 2: static values
<x-alert :type="'success'" :dismissable="'yes'">
{{ $status }}
</x-alert>
和组件
<div class="alert alert-{{ $type }} {{ $dismissable == 'yes' ? 'alert-dismissible' : '' }} fade show" role="alert">
{!! $slot !!}
@if($dismissable == 'yes')
<button type="button" class="close" data-dismiss="alert">
<i class="fal fa-times"></i>
</button>
@endif
</div>
现在这工作正常,但我的问题是:当您想勾选所有这些框时,这样做的正确方法是:
- 使用匿名组件
- 为相同的 属性 传递静态或动态变量(如示例中的
:type
和 :dismissable
)
文档对此并不完全清楚。
您可以决定在使用组件时是通过HTML属性还是:
前缀属性传递值。
如果组件收到动态值,请使用,如您所述:
<x-alert :type="session('alert.type')" :dismissable="session('alert.dismissable')">
{{ session('alert.body') }}
</x-alert>
如果组件接收原始值,如硬编码字符串,请使用 HTML 属性,不带 :
前缀和单引号:
<x-alert type="success" dismissable="yes">
{{ $status }}
</x-alert>
在这两种情况下,$type
和 $dismissable
变量将在您的组件中可用。
在 Laravel 7 中,我想使用一个可以接受动态和静态值作为属性的 anonymous Blade component。下面的代码应该可以解释我的意思:
// Scenario 1: dynamic values
<x-alert :type="session('alert.type')" :dismissable="session('alert.dismissable')">
{{ session('alert.body') }}
</x-alert>
// Scenario 2: static values
<x-alert :type="'success'" :dismissable="'yes'">
{{ $status }}
</x-alert>
和组件
<div class="alert alert-{{ $type }} {{ $dismissable == 'yes' ? 'alert-dismissible' : '' }} fade show" role="alert">
{!! $slot !!}
@if($dismissable == 'yes')
<button type="button" class="close" data-dismiss="alert">
<i class="fal fa-times"></i>
</button>
@endif
</div>
现在这工作正常,但我的问题是:当您想勾选所有这些框时,这样做的正确方法是:
- 使用匿名组件
- 为相同的 属性 传递静态或动态变量(如示例中的
:type
和:dismissable
)
文档对此并不完全清楚。
您可以决定在使用组件时是通过HTML属性还是:
前缀属性传递值。
如果组件收到动态值,请使用,如您所述:
<x-alert :type="session('alert.type')" :dismissable="session('alert.dismissable')">
{{ session('alert.body') }}
</x-alert>
如果组件接收原始值,如硬编码字符串,请使用 HTML 属性,不带 :
前缀和单引号:
<x-alert type="success" dismissable="yes">
{{ $status }}
</x-alert>
在这两种情况下,$type
和 $dismissable
变量将在您的组件中可用。