Клик по окну в Livewire
Давайте рассмотрим ситуацию, когда нужно заметить любой клик по странице, а не только нажатие на одной кнопке. Счётчик растёт лишь от неё, хотя человек жмёт и в других местах.
Модификатор .window
вешает слушатель на окно
браузера. Метод компонента
вызывается от клика
в любом месте документа.
Страница откроется
по адресу /posts/page.
Давайте опишем компонент
PostPage:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostPage extends Component
{
public $count = 0;
public function tick()
{
$this->count++;
}
public function render()
{
return view('livewire.post-page');
}
}
?>
Давайте повесим обработчик на корень компонента и выведем счётчик:
<div wire:click.window="tick">
<div>{{ $count }}</div>
</div>
Давайте откроем страницу
по адресу /posts/page:
<?php
Route::get('/posts/page', function () {
return view('posts-page');
});
?>
Давайте вставим компонент на страницу:
<x-layout>
<livewire:post-page />
</x-layout>
Создайте компонент EmployeePage.
Любой клик по странице
увеличивает счётчик.