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

Метод mount

Метод mount является жизненным цикловым методом компонента Livewire. Он вызывается автоматически при первом создании экземпляра компонента перед отображением его шаблона. В отличие от конструктора __construct, метод mount предназначен для безопасной инициализации свойств компонента, а также для приема параметров, переданных из Blade-шаблона. Этот метод выполняется только один раз за время жизни компонента на странице и не вызывается при последующих обновлениях через AJAX.

Метод mount может принимать произвольные параметры, которые передаются при внедрении компонента в шаблон через атрибуты, например, <livewire:counter :start="10" />. Все переданные параметры должны быть скалярными значениями или массивами, которые можно сериализовать. Обратите внимание, что для безопасности Livewire по умолчанию защищает свойства от изменения через параметры, если они не объявлены в свойстве $rules или не имеют атрибута #[Modelable].

Синтаксис

<?php namespace AppLivewire; use LivewireComponent; class ComponentName extends Component { public $property; public function mount($param) { $this->property = $param; } public function render() { return view('livewire.component-name'); } } ?>

Пример

Создадим компонент с начальным значением счетчика, передаваемым из шаблона через параметр start:

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

Внедрение компонента с передачей начального значения:

<livewire:counter :start="10" />

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

<button> + </button> <span>10</span>

Пример

Метод mount может принимать несколько параметров для инициализации нескольких свойств компонента. Например, создадим компонент пользователя с именем и возрастом:

<?php namespace AppLivewire; use LivewireComponent; class UserProfile extends Component { public $name; public $age; public function mount($name, $age = 18) { $this->name = $name; $this->age = $age; } public function render() { return view('livewire.user-profile'); } } ?>
<div> <p>Name: {{ $name }}</p> <p>Age: {{ $age }}</p> </div>

Внедрение компонента с передачей параметров:

<livewire:user-profile :name="'John'" :age="25" />

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

<p>Name: John</p> <p>Age: 25</p>

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

  • метод boot,
    который вызывается перед инициализацией компонента
  • метод hydrate,
    который вызывается после восстановления состояния компонента
  • метод booted,
    который вызывается после завершения инициализации компонента
  • метод skipMount,
    который позволяет пропустить выполнение метода mount
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить