使用可变和静态信息的Laravel 7单叶片组件

使用可变和静态信息的Laravel 7单叶片组件,laravel,laravel-7,Laravel,Laravel 7,在Laravel7中,我想使用一个可以接受动态和静态值作为属性的。下面的代码应该解释我的意思: // Scenario 1: dynamic values <x-alert :type="session('alert.type')" :dismissable="session('alert.dismissable')"> {{ session('alert.body') }} </x-alert> // Scenario 2: static values &l

在Laravel7中,我想使用一个可以接受动态和静态值作为属性的。下面的代码应该解释我的意思:

// 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>
//场景1:动态值
{{session('alert.body')}
//场景2:静态值
{{$status}
以及组件

<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>

{!!$slot!!}
@如果($dismissable=='yes')
@恩迪夫
现在这很好,但我的问题是:当你想勾选所有这些框时,正确的方法是什么

  • 使用匿名组件
  • 为同一属性传递静态或动态变量(如示例中的
    :type
    :dismissable

文档对此并不完全清楚。

使用组件时,您可以决定是通过HTML属性传递值,还是通过
前缀属性传递值

如果组件接收到动态值,请使用,如您所述:

<x-alert :type="session('alert.type')" :dismissable="session('alert.dismissable')">
 {{ session('alert.body') }}
</x-alert>

在这两种情况下,
$type
$dismissable
变量都可以在您的组件中使用。

您能澄清这个问题吗?您可能会传递这样的字符串
,我已经在问题中添加了说明。如果像我的第一个示例中那样传递动态变量,比如会话数据,或者只是
$variable
,那么您的建议就行不通了。为了使动态数据正常工作,您需要执行
:键入
:dismissable
(注意分号)。但是对于分号,您需要用单引号传递静态数据,这样就有了双引号和单引号。在这篇评论中解释起来有点困难,但我问题中的例子应该清楚地表明区别以及它是如何工作的。我想,我已经理解你了。您不必选择一个,您可以根据当前传递的值使用这两个选项。如果我误解了,请告诉我。是的,这比我想象的要容易得多:-)。谢谢你的明确回答!
<x-alert type="success" dismissable="yes">
  {{ $status }}
</x-alert>