Периодический опрос в Livewire
Пусть на странице нужно показывать, сколько новых постов пришло. Обновлять цифру кнопкой неудобно, а без повторных запросов она замирает на старом значении.
Атрибут wire:poll
на корне компонента
запускает периодический
опрос сервера с заданным
интервалом.
Страница откроется
по адресу /posts/tick.
Давайте создадим компонент
PostTick:
php artisan make:livewire PostTick --class
Давайте в методе render
передадим в шаблон текущую
секунду через функцию
date:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostTick extends Component
{
public function render()
{
return view(
'livewire.post-tick',
['second' => date('s')]
);
}
}
?>
Давайте повесим опрос на корневой элемент шаблона:
<div wire:poll.5s>
{{ $second }}
</div>
Давайте откроем страницу
по адресу /posts/tick:
<?php
Route::get('/posts/tick', function () {
return view('posts-tick');
});
?>
Давайте вставим компонент на страницу:
<x-layout>
<livewire:post-tick />
</x-layout>
Создайте компонент EmployeeTick.
Число на странице работника
обновляется само каждые
пять секунд.