konradkalemba / blade-components-scoped-slots

Scoped slots feature addition to Laravel's Blade templating engine
MIT License
27 stars 6 forks source link
blade laravel scoped-slots slots

blade-components-scoped-slots

Latest Stable Version Total Downloads

Scoped slots feature addition to Laravel's Blade templating engine. The package adds two new Blade directives: @scopedslot and @endscopedslot. Inspired by Vue's scoped slots feature.

Installation

composer require konradkalemba/blade-components-scoped-slots

Usage example

index.blade.php

@component('components.list', ['objects' => $objects])
    @scopedslot('item', ($object))
    // It is also possible to pass outside variable to the scoped slot
    // by using the third parameter: @scopedslot('item', ($object), ($variable))
        <li>
            {{ $object->name }} 
            @if($object->isEditable)
                <a href="https://github.com/konradkalemba/blade-components-scoped-slots/blob/master/{{ route('objects.edit', $object->id) }}">{{ __('Edit') }}</a>
            @endif
        </li>
    @endscopedslot
@endcomponent

components/list.blade.php

<ul>
    @foreach($objects as $object)
        {{ $item($object) }}
    @endforeach
</ul>

License

License