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