Свойство-массив в компоненте в Livewire
На странице редактора постов нужно показать сразу несколько заголовков черновиков. Одного числа или одной строки для этого мало: это несколько значений одного рода, и каждое должно стать отдельной строкой списка.
Такие значения держат в публичном свойстве-массиве. В шаблоне массив перебирают циклом Blade, как обычный список. Каждый элемент становится пунктом разметки.
Давайте создадим компонент
PostList:
php artisan make:livewire PostList --class
Давайте зададим начальные заголовки
в свойстве $titles:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostList extends Component
{
public $titles = ['News', 'Photo'];
public function render()
{
return view('livewire.post-list');
}
}
?>
Давайте выведем пункты в шаблоне списком:
<div>
<ul>
@foreach ($titles as $title)
<li>{{ $title }}</li>
@endforeach
</ul>
</div>
Давайте выведем компонент на
странице /posts. Сначала
маршрут:
<?php
Route::get('/posts', function () {
return view('posts');
});
?>
Давайте вставим компонент
в posts.blade.php:
<x-layout>
<livewire:post-list />
</x-layout>
Выведите список имён работников.