Заголовок страницы в Livewire
Давайте разберём такой случай. Страница создания поста открывается по своему адресу, а во вкладке браузера остаётся общее имя сайта. По вкладкам не понять, какой экран открыт.
Макет может брать заголовок
из переменной, а на классе
компонента атрибут Title
задаёт текст для этой переменной.
Тогда у каждой полностраничной
формы своя подпись во вкладке.
Давайте зададим макет страницы
в app.blade.php, чтобы
заголовок брался из переменной:
<!DOCTYPE html>
<html>
<head>
<title>{{ $title ?? 'Page' }}</title>
</head>
<body>
{{ $slot }}
</body>
</html>
Давайте создадим компонент
PostCreate:
php artisan make:livewire PostCreate --class
Давайте повесим атрибут
Title на класс:
<?php
namespace App\Livewire;
use Livewire\Attributes\Title;
use Livewire\Component;
#[Title('Create post')]
class PostCreate extends Component
{
public function render()
{
return view('livewire.post-create');
}
}
?>
Давайте в web.php укажем
путь к компоненту:
<?php
use App\Livewire\PostCreate;
Route::livewire('/posts/create', PostCreate::class);
?>
Давайте в шаблоне выведем подпись экрана:
<div>
Create
</div>
Создайте компонент EmployeeCreate
как страницу. Во вкладке браузера
должна быть подпись New employee.