Inertia, Laravel und Vue
Koordiniert Laravel-Seitendaten, Vue-Bearbeitung und Inertia-Navigation ohne Verlust lokaler Arbeit oder Berechtigungsgrenzen.
inertia-laravel-vue
Entdecke, wie der Skill hilftWann ist der Skill hilfreich?
Nutze ihn bei unerwartetem Verhalten von Formularen, Teilaktualisierungen oder gemeinsamen Props in Inertia-Anwendungen.
Wobei hilft er dir?
- Passt Inertia-Funktionen an installierte Client- und Serverversionen an.
- Belässt Page-Props beim Server und bearbeitet explizite Entwürfe.
- Koordiniert Teilnavigation, Formularfehler und serverseitige Berechtigungen.
Das könntest du fragen
Erhalte ungespeicherte Formularänderungen bei einer partiellen Inertia-Aktualisierung. Aktualisiere serverseitige Summen während einer Adressbearbeitung. Der Adressentwurf bleibt erhalten; Fehler einer abgewiesenen Speicherung landen an den passenden Feldern.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Inertia & Laravel Integration
Align Laravel server responses, Inertia navigation, validation errors and local Vue UI state into a seamless single-page experience.
1. Check the installed @inertiajs/vue3 version first
- Inspect
package.jsonandcomposer.json(inertiajs/inertia-laravel):- Inertia v2 adds
<Form>,<Deferred>,<WhenVisible>,usePoll, prefetching (<Link prefetch>) andInertia::optional()/Inertia::defer()/Inertia::merge(). - Inertia v1 uses
useForm,<Link>,routerandInertia::lazy()without<Deferred>or<Form>. Never use v2-only components in a v1 project.
- Inertia v2 adds
2. Page props, shared data and state ownership
- Treat Inertia page props as server-owned state passed from the Laravel controller (
Inertia::render()). Define a typeddefineProps<PageProps>()contract matching the controller's payload and API resources. - Access global shared data (authenticated user, flash messages, permissions, locale) via
const page = usePage<SharedProps>()and derive reactive values withcomputed(() => page.props.auth.user). - Never mutate page props directly. When a user edits server data locally, initialize a
useForm(...)or local draftref, and decide deliberately when a fresh prop update should reset or preserve the local draft. - Remember that hiding a button in Vue based on
page.props.canis UX convenience only; real authorization lives in Laravel Policies/Gates on the server.
3. Navigation, partial reloads and deferred data
- Use
<Link :href="...">(or<Link as="button" method="post">) for internal navigation instead of raw<a href>tags that trigger full page reloads, androuter.visit()/router.get()for programmatic navigation. - For filter/search/sort bars driven by the server, use
router.get(url, filters, { preserveState: true, preserveScroll: true, replace: true, only: ['items', 'filters'] }), debouncing text inputs and canceling stale visits Automatically via Inertia's built-in visit cancellation. - Use partial reloads (
only: ['stats']orexcept: [...]) to refresh specific props without re-executing heavy queries when the server wraps expensive props infn () => ...orInertia::optional(). - In Inertia v2, wrap deferred controller props (
Inertia::defer(...)) in<Deferred data="permissions"><template #fallback>...</template>...</Deferred>with a skeleton fallback so the initial page renders immediately.
4. Forms, validation errors and submission feedback
- Use
useForm({ ... })(or Inertia v2's<Form>component where matches project conventions) for mutations (form.post,form.put,form.patch,form.delete):- Bind submit buttons to
:disabled="form.processing"to prevent double submissions and show progress feedback. - Display server validation errors inline via
form.errors.field(aria-invalid,aria-describedby), and clear or reset fields deliberately inonSuccess: () => form.reset()(orpreserveScroll: trueon error). - Use
form.isDirtyto warn before discarding unsaved changes, and pass a unique remember key (useForm('EditProject:' + props.project.id, { ... })) when form state should survive back/forward history navigation.
- Bind submit buttons to
Before you finish
- Verified
@inertiajs/vue3version (v1 vs v2) and matched the project's route helper convention (Wayfinder, Ziggyroute()or explicit URLs). - Page props and
usePage()shared data are typed and never mutated directly. - Forms handle
form.processing, inlineform.errors,preserveScrolland post-success reset/feedback cleanly. -
preserveStateandpreserveScrollare chosen deliberately for the user's workflow.
Enthaltene Dateien 2
LICENSE.txtSKILL.md
Über dieses Skill-Paket
inertia-laravel-vue
inertia-laravel-vue: Entwickelt Vue-Oberflächen mit vorhersehbarer Reaktivität, wiederverwendbaren Komponenten sowie zuverlässigem Routing, Formularen und Server-Rendering.
Weniger anzeigen
inertia-laravel-vue
inertia-laravel-vue: Entwickelt Vue-Oberflächen mit vorhersehbarer Reaktivität, wiederverwendbaren Komponenten sowie zuverlässigem Routing, Formularen und Server-Rendering.
Enthält den vollständigen Skill und seine Begleitdateien (2 Dateien). Der genaue, ursprünglich verfasste Anwendungsbereich bleibt unten erhalten.
Ursprüngliche Skill-Beschreibung (Quellsprache)
Use when building, debugging or reviewing Inertia.js + Laravel + Vue 3 applications: page props, shared data (usePage), client navigation (Link, router.visit), partial reloads, Inertia v2 deferred props, polling, forms and validation errors (Form component and useForm), scroll and state preservation, or history state.
Installiere den Skill, prüfe seine Quelle und Vertrauenseinstellungen und aktiviere ihn für das passende Projekt oder den Agenten.
Voraussetzungen
- Orqestria auf deinem Computer installiert.
