Пространство имён pages::
Пространство имён pages:: в Livewire используется для определения Full-Page компонентов,
которые занимают всю страницу целиком. При использовании этого пространства имён
Livewire автоматически генерирует маршруты на основе структуры файлов в директории
app/Livewire/pages. Это позволяет создавать полноценные страницы без необходимости
ручной регистрации каждого маршрута в файле routes/web.php.
Синтаксис
Для использования пространства имён pages:: необходимо разместить компоненты
в директории app/Livewire/pages. Livewire автоматически обнаружит эти компоненты
и создаст для них маршруты. Имя файла компонента определяет URL-адрес страницы.
@livewire('pages::filename')
Можно также использовать пространство имён в маршрутах, передавая строку в метод
Route::livewire()⁅/⁆.
Пример
Давайте создадим Full-Page компонент для отображения страницы контактов:
<?php
namespace AppLivewirepages;
use LivewireComponent;
class ContactPage extends Component
{
public $title = 'Contact Us';
public $email = 'info@example.com';
public function render()
{
return view('livewire.pages.contact-page');
}
}
?>
<div>
<h1>{{ $title }}</h1>
<p>Email: {{ $email }}</p>
</div>
Пример
Теперь зарегистрируем маршрут с использованием пространства имён pages:::
<?php
use IlluminateSupportFacadesRoute;
use LivewireLivewire;
Route::livewire('/contact', 'pages::contact-page');
?>
Результат выполнения кода при переходе по адресу /contact:
<div>
<h1>Contact Us</h1>
<p>Email: info@example.com</p>
</div>
Пример
Используем пространство имён pages:: в Blade-шаблоне для вызова компонента:
<html>
<head>
<title>Welcome</title>
@livewireStyles
</head>
<body>
@livewire('pages::contact-page')
@livewireScripts
</body>
</html>
Результат выполнения кода:
<html>
<head>
<title>Welcome</title>
</head>
<body>
<div>
<h1>Contact Us</h1>
<p>Email: info@example.com</p>
</div>
</body>
</html>
Смотрите также
-
полноэкранные компоненты
Full-Page,
которые занимают всю страницу целиком -
пространство имён
layouts::,
которое определяет макеты для компонентов -
функцию
Route::livewire,
которая регистрирует маршруты для Livewire компонентов -
класс
Component,
от которого наследуются все компоненты Livewire