Параметры при вызове метода в Livewire
Кнопка у просмотров поста всегда прибавляет одно и то же. Если рядом нужны шаги побольше и поменьше, заводить отдельный метод на каждый шаг незачем.
Один метод может принимать аргумент.
Этот аргумент пишут прямо в
wire:click. По клику
значение передаётся в метод
на сервере, и шаг берётся
из вызова, а не зашит в классе.
Давайте соберём PostViews
с методом inc, которому
передают шаг прибавления:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostViews extends Component
{
public $views = 0;
public function inc($step)
{
$this->views += $step;
}
public function render()
{
return view('livewire.post-views');
}
}
?>
Давайте сделаем две кнопки с разным шагом:
<div>
{{ $views }}
<button type="button" wire:click="inc(1)">
+1
</button>
<button type="button" wire:click="inc(5)">
+5
</button>
</div>
Сделайте кнопку, которая увеличивает зарплату работника сразу на 1000.