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

Один корневой элемент

В Livewire каждый компонент должен иметь ровно один корневой элемент в своём Blade-шаблоне. Это требование необходимо для корректной работы системы обновления DOM, так как Livewire заменяет весь корневой элемент компонента при каждом обновлении. Если корневых элементов несколько, Livewire не сможет определить, какой элемент заменять, что приведёт к ошибкам.

Синтаксис

Правило применяется ко всем Blade-шаблонам компонентов Livewire и не имеет специального синтаксиса. Достаточно обернуть всё содержимое шаблона в один HTML-элемент:

<div> <button wire:click="inc">+</button> <span>{{ $num }}</span> </div>

Пример

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

<?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 wire:click="inc">+</button> <span>{{ $num }}</span> </div>

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

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

Пример

Неправильный пример компонента с несколькими корневыми элементами:

<button wire:click="inc">+</button> <span>{{ $num }}</span>

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

"Livewire encountered a component with multiple root elements."

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

  • правило один корневой элемент,
    которое является обязательным для всех компонентов Livewire
  • метод render,
    который возвращает шаблон компонента
  • публичные свойства public-prop,
    которые доступны в шаблоне компонента
  • директиву wire:click,
    которая вызывает метод компонента при клике
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить