Метод render
Метод render является обязательным для всех компонентов
Livewire. Он должен возвращать экземпляр представления
(через функцию view) или строку с HTML-кодом.
Этот метод вызывается при инициализации компонента,
при обновлении состояния и при любых изменениях данных.
Синтаксис
<?php
namespace AppLivewire;
use LivewireComponent;
class ComponentName extends Component
{
public function render()
{
return view('livewire.component-name');
}
}
?>
Пример
Создадим компонент Livewire с методом render,
который возвращает шаблон:
<?php
namespace AppLivewire;
use LivewireComponent;
class Counter extends Component
{
public $num = 0;
public function render()
{
return view('livewire.counter');
}
}
?>
<div>
<span>Count: {{ $num }}</span>
</div>
Пример
Метод render может передавать данные в шаблон
через массив или через метод with:
<?php
namespace AppLivewire;
use LivewireComponent;
class UserList extends Component
{
public function render()
{
$users = ['user1', 'user2', 'user3'];
return view('livewire.user-list', [
'users' => $users
]);
}
}
?>
<div>
@foreach ($users as $user)
<p>{{ $user }}</p>
@endforeach
</div>
Результат выполнения кода:
<div>
<p>user1</p>
<p>user2</p>
<p>user3</p>
</div>
Пример
Метод render может возвращать HTML-строку
с помощью метода html:
<?php
namespace AppLivewire;
use LivewireComponent;
class SimpleComponent extends Component
{
public function render()
{
return html('<div>Hello Livewire</div>');
}
}
?>
Смотрите также
-
класс
Component,
от которого наследуются все компоненты Livewire -
метод
placeholder,
который отображает содержимое до загрузки компонента -
метод
redirect,
который выполняет редирект из компонента -
метод
download,
который инициирует скачивание файла