gpt4 book ai didi

laravel - 将变量从组件传递到插槽

转载 作者:行者123 更新时间:2023-12-03 14:40:50 26 4
gpt4 key购买 nike

是否可以将变量从组件传递到插槽中。
这是一个例子:

{{-- index.blade.php --}}
@component('slider', ['entities' => [0, 1, 2]])
@slot('title')
Slider title
@endslot
@slot('slide')
Slider content no {{ $entity }}
@endslot
@endcomponent


{{-- slider.blade.php --}}
<h1>{{ $title }}</h1>
<ul>
@foreach($entities as $entity)
<li>{{ $slide }}</li>
@endforeach
</ul>

当前结果:

Exception : $entity is not defined



预期结果:
<h1>Slider title</h1>
<ul>
<li>Slider content no 0</li>
<li>Slider content no 1</li>
<li>Slider content no 2</li>
</ul>
  • 如何将 $entity 变量传递到幻灯片槽中?
  • 甚至有可能这样做吗?
  • 如果没有,是否有任何替代方案?
  • 最佳答案

    似乎没有办法将数据从组件传递到插槽上下文。 @section 也是如此。/@yield .

    我发现的是 @each功能。 https://laravel.com/docs/5.6/blade#rendering-views-for-collections

    对于列表项内容,您需要另一个 View 部分(此处称为 item)。

    {{-- index.blade.php --}}
    @component('slider', ['entities' => [0, 1, 2], 'item_view' => 'item'])
    @slot('title')
    Slider title
    @endslot
    @endcomponent


    {{-- item.blade.php --}}
    <li>
    Slider content no $entity
    </li>


    {{-- slider.blade.php --}}
    <h1>{{ $title }}</h1>
    <ul>
    @each($item_view, $entities, 'entity')
    </ul>

    示例:制作具有不同内容的新 slider :
    {{-- gallery.blade.php --}}
    @component('slider', ['entities' => ['a.png', 'b.png', 'c.png'], 'item_view' => 'gallery_item'])
    @slot('title')
    Gallery
    @endslot
    @endcomponent


    {{-- gallery_item.blade.php --}}
    <li>
    <img src={{ $entity }} />
    </li>

    关于laravel - 将变量从组件传递到插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50526057/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com