Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 1.54 KB

README.md

File metadata and controls

40 lines (33 loc) · 1.54 KB

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="{{ 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