Подготовка к отрисовке в Livewire
Давайте теперь возьмём страницу поста, где в шаблоне нужна отметка времени, а хранить её в поле компонента не хочется: значение каждый раз новое и не должно уезжать в снимок состояния.
Метод rendering вызывается
непосредственно перед
сборкой представления.
Ему передают имя шаблона
и массив данных для него:
дописав ключ в этот массив,
мы отдаём переменную
в Blade, не трогая
публичные свойства.
Давайте создадим компонент
PostDraw:
php artisan make:livewire PostDraw --class
Давайте добавим маршрут и
страницу по адресу
/posts/draw:
<?php
Route::get('/posts/draw', function () {
return view('posts-draw');
});
?>
<x-layout>
<livewire:post-draw />
</x-layout>
Давайте в методе rendering
положим в массив данных
секунду из функции
date:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostDraw extends Component
{
public function rendering($view, $data)
{
$data['stamp'] = date('s');
}
public function render()
{
return view('livewire.post-draw');
}
}
?>
Давайте выведем отметку в шаблоне:
<div>
{{ $stamp }}
</div>
Создайте компонент EmployeeDraw.
В шаблон работника попадает
слово, которого нет среди
свойств компонента.