Я хочу создать Компонент, который предоставляет только данные без представления.
Например:
<x:wg.items.listing :items="$items->items()" :filter="$obj->settings['filter']">
@foreach($items as $item)
{{ $item->title }}
@endforeach
</x:wg.items.listing>
Компонент Blade получает коллекцию :items
и :filter
. Между тегами должна быть доступна отфильтрованная коллекция.
Listing. php:
class Listing extends Component
{
public $items;
public $filter;
/**
* Create a new component instance.
*
* @return void
*/
public function __construct($filter="0", $items="0")
{
$this->filter = $filter;
$this->items = $items;
}
/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\View\View|string
*/
public function render()
{
$this->items = app()->make("App\\Http\\Controllers\\Frontend\\BlogController")->generateList($this->items, $this->filter);
/*return view('components.wg.items.list');*/
}
}
Listing.php
не должен отображать представление, потому что коллекция элементов доступна только в components.wg.items.list
, а не между тегами Blade x выше.
Это вообще возможно? Заранее спасибо!