Переход на адрес в Inertia
Давайте изучим программный переход. Это смена открытой страницы Inertia по команде из Vue, когда в шаблоне нет ссылки с нужным адресом. Запрос уходит к Laravel с заголовком Inertia, ответ подставляет другой компонент на место текущего, а документ браузера остаётся на месте.
Объект router из
@inertiajs/vue3 как раз
отвечает за такие походы.
Для открытия адреса методом
GET удобен метод
get: его вызывают
из обработчика клика по кнопке
или из другой функции.
Давайте опишем страницу списка постов:
<?php
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
Route::get('/posts', function () {
return Inertia::render('Posts/Index');
});
?>
Давайте повесим на кнопку переход на этот адрес:
<script setup>
import { router } from '@inertiajs/vue3'
function openPosts() {
router.get('/posts')
}
</script>
<template>
<button type="button" @click="openPosts">
Posts
</button>
</template>
Сделайте на панели работника Marina кнопку, которая открывает список работников без ссылки в разметке.