Один вызов в Livewire
Пусть одну кнопку жмут снова и снова. Каждое нажатие бежит на сервер и меняет состояние поста, хотя отметку достаточно поставить один раз.
Модификатор .once
оставляет вызов только
для первого клика.
Дальнейшие нажатия
на этот элемент
метод не отправляют.
Страница откроется
по адресу /posts/read.
Давайте опишем компонент
PostRead:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostRead extends Component
{
public $read = '';
public function read()
{
$this->read = 'Read';
}
public function render()
{
return view('livewire.post-read');
}
}
?>
Давайте выведем кнопку с одним вызовом и свойство результата:
<div>
<button wire:click.once="read">
Mark read
</button>
<div>{{ $read }}</div>
</div>
Давайте откроем страницу
по адресу /posts/read:
<?php
Route::get('/posts/read', function () {
return view('posts-read');
});
?>
Давайте вставим компонент на страницу:
<x-layout>
<livewire:post-read />
</x-layout>
Создайте компонент EmployeeRead.
Кнопка отмечает работника
только при первом нажатии.