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

Компонент как страница в Livewire

Пусть страница списка постов состоит из одного блока. Рядом всё равно лежит отдельное представление: оно только вставляет этот блок и больше ничего не делает. Адрес, пустой файл и компонент приходится держать тремя кусками ради одного экрана.

В web.php для этого есть метод livewire у Route: он связывает путь и класс компонента. Livewire сам подставит макет по умолчанию из app.blade.php, если компонент не просит другой.

Давайте зададим этот макет в app.blade.php:

<!DOCTYPE html> <html> <head> <title>Page</title> </head> <body> {{ $slot }} </body> </html>

Давайте создадим компонент PostPage:

php artisan make:livewire PostPage --class

Давайте оставим в классе один метод render:

<?php namespace App\Livewire; use Livewire\Component; class PostPage extends Component { public function render() { return view('livewire.post-page'); } } ?>

Давайте добавим маршрут с подключением класса:

<?php use App\Livewire\PostPage; Route::livewire('/posts', PostPage::class); ?>

Давайте в шаблоне компонента оставим только блок: макет уже снаружи, x-layout не нужен:

<div> Posts </div>

Создайте компонент EmployeePage и откройте его как страницу по адресу /employees.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить