РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1 of 274 menu

Директива wire:click

Директива wire:click вешается на HTML-элемент и вызывает указанный метод компонента при клике. В значение передаётся имя публичного метода. После вызова Livewire обновляет шаблон компонента.

Синтаксис

<button wire:click="methodName"> text </button>

Пример

Давайте увеличим число $num по клику на кнопку:

<?php namespace App\Livewire; use Livewire\Component; class Counter extends Component { public $num = 0; public function inc() { $this->num++; } public function render() { return view('livewire.counter'); } } ?>
<button wire:click="inc"> + </button> <span>{{ $num }}</span>

Результат выполнения кода:

<button> + </button> <span>1</span>

Пример

Давайте передадим в метод параметр 2:

<?php namespace App\Livewire; use Livewire\Component; class Counter extends Component { public $num = 0; public function inc($step) { $this->num += $step; } public function render() { return view('livewire.counter'); } } ?>
<button wire:click="inc(2)"> +2 </button> <span>{{ $num }}</span>

Результат выполнения кода:

<button> +2 </button> <span>2</span>

Пример

Давайте передадим в метод несколько параметров:

<?php namespace App\Livewire; use Livewire\Component; class Counter extends Component { public $num = 0; public function inc($step, $multiplier) { $this->num += $step * $multiplier; } public function render() { return view('livewire.counter'); } } ?>
<button wire:click="inc(2, 3)"> +6 </button> <span>{{ $num }}</span>

Результат выполнения кода:

<button> +6 </button> <span>6</span>

Пример

Давайте передадим в метод значение свойства $step:

<?php namespace App\Livewire; use Livewire\Component; class Counter extends Component { public $num = 0; public $step = 3; public function inc() { $this->num += $this->step; } public function render() { return view('livewire.counter'); } } ?>
<button wire:click="inc"> +{{ $step }} </button> <span>{{ $num }}</span>

Результат выполнения кода:

<button> +3 </button> <span>3</span>

Пример

Давайте передадим в метод строку:

<?php namespace App\Livewire; use Livewire\Component; class Message extends Component { public $text = ''; public function setMessage($message) { $this->text = $message; } public function render() { return view('livewire.message'); } } ?>
<button wire:click="setMessage('hello')"> Set message </button> <span>{{ $text }}</span>

Результат выполнения кода:

<button> Set message </button> <span>hello</span>

Смотрите также

  • директиву wire:click.prevent,
    которая отменяет действие браузера по умолчанию
  • директиву wire:click.stop,
    которая останавливает всплытие события
  • директиву wire:click.self,
    которая срабатывает только при клике непосредственно на элементе
  • директиву wire:click.once,
    которая вызывает метод только один раз
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить