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

Макет в Inertia

Давайте разберём макет страницы. Макет - это общая рамка сайта: шапка, меню, подвал. Страница попадает в его слот и рисует только своё содержимое. Один макет на всё приложение задают при запуске клиента, опцией layout. Рамка живёт между переходами и не копируется в каждый файл.

Давайте создадим файл макета с навигацией и основной областью:

<script setup> import { Link } from '@inertiajs/vue3' </script> <template> <header> <Link href="/">Home</Link> <Link href="/posts">Posts</Link> </header> <main> <slot /> </main> </template>

Давайте при запуске приложения укажем этот макет:

import { createInertiaApp } from '@inertiajs/vue3' import Layout from './Layout.vue' createInertiaApp({ layout: () => Layout, })

Страница постов остаётся только с заголовком, без обёртки:

<template> <h1>Posts</h1> </template>

Маршрут по-прежнему отдаёт только имя компонента:

<?php use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/posts', function () { return Inertia::render('Posts/Index'); }); ?>

Сделайте общий макет с шапкой и подвалом, чтобы страницы работников и отделов открывались внутри него.

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