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

Объект this в JavaScript

Объект this в JavaScript-скриптах компонента Livewire предоставляет доступ к API текущего компонента. С его помощью можно вызывать методы компонента, получать и изменять его свойства, а также управлять состоянием компонента. Данный объект автоматически привязывается к экземпляру компонента и доступен внутри методов и обработчиков событий компонента.

Синтаксис

this.methodName() this.propertyName this.propertyName = value

Пример

Давайте вызовем метод компонента inc по клику на кнопку с помощью this:

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

Пример

Давайте получим свойство компонента $num через this и выведем его в консоль:

<?php namespace AppLivewire; use LivewireComponent; class Counter extends Component { public $num = 5; public function render() { return view('livewire.counter'); } } ?>
<div> <button x-on:click="console.log(this.num)"> Show num </button> </div>

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

5

Пример

Давайте изменим свойство компонента $text через this и обновим шаблон:

<?php namespace AppLivewire; use LivewireComponent; class TextComponent extends Component { public $text = 'abcde'; public function render() { return view('livewire.text-component'); } } ?>
<div> <button x-on:click="this.text = 'xyz'"> Change text </button> <span>{{ $text }}</span> </div>

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

<button> Change text </button> <span>xyz</span>

Пример

Давайте вызовем несколько методов компонента последовательно с помощью this:

<?php namespace AppLivewire; use LivewireComponent; class Calculator extends Component { public $num = 0; public function add($val) { $this->num += $val; } public function multiply($val) { $this->num *= $val; } public function render() { return view('livewire.calculator'); } } ?>
<div> <button x-on:click=" this.add(10); this.multiply(2); "> Calculate </button> <span>{{ $num }}</span> </div>

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

<button> Calculate </button> <span>20</span>

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

  • свойство $wire,
    которое предоставляет доступ к API компонента
  • метод $wire.set,
    который устанавливает значение свойства компонента
  • метод $wire.call,
    который вызывает метод компонента по имени
  • свойство $el,
    которое ссылается на DOM-элемент компонента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить