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

Ссылка в Inertia

Давайте познакомимся с компонентом Link. Это ссылка внутри приложения Inertia. Она ведёт на другой адрес Laravel, но оставляет открытый документ на месте: Vue не запускается заново, а на экране оказывается следующая страница.

Обычный переход по адресу браузер понимает иначе. Он скачивает новый HTML, выбрасывает текущее приложение и собирает его с нуля. Адрес в строке при этом меняется, но для приложения это уже другой заход, а не шаг внутри одного сайта.

Link перехватывает клик. Клиент сам запрашивает адрес из href и помечает запрос заголовком X-Inertia. Сервер отвечает объектом следующей страницы, клиент подменяет экран и записывает новый адрес в строку браузера. Человек видит переход, а документ остаётся тем же.

В шаблоне это компонент Vue. Его берут из пакета клиента и ставят на место обычной ссылки. В href пишут адрес маршрута, который возвращает страницу Inertia, а между тегами - подпись, которую увидит человек.

Давайте опишем два таких адреса. Главная откроет экран Home, соседний адрес - экран About:

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

Давайте на главной подключим компонент и укажем адрес соседней страницы:

<script setup> import { Link } from '@inertiajs/vue3' </script> <template> <h1>Home</h1> <Link href="/about">About</Link> </template>

Экрану About достаточно заголовка. Ссылку на него ставит главная:

<template> <h1>About</h1> </template>

Сделайте переход со страницы работников на страницу отделов, чтобы документ браузера не скачивался заново.

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