0Pricing
Vue Academy · Lezione

Route nidificate e dinamiche

Costruisca layout nidificati e parametri di route dinamici.

Route nidificate e dinamiche è una lezione Vue Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Vue Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Vue Academy include 3 lezioni in totale.

Oltre le route statiche

Le applicazioni reali hanno bisogno di route che trasportino dati e si annidino nei layout.

  • I segmenti dinamici acquisiscono valori come un id
  • Le route annidate eseguono il rendering dei componenti figli all'interno di un componente padre
  • Le route denominate e la navigazione programmatica offrono maggiore flessibilità

Segmenti di route dinamici

I due punti definiscono un segmento dinamico che corrisponde a qualsiasi valore.

const routes = [
  { path: "/user/:id", component: UserProfile }
]

// Matches /user/1, /user/42, /user/abc

Accedere a route.params

Leggere il valore acquisito tramite route.params.

<script setup>
import { useRoute } from "vue-router"

const route = useRoute()
console.log(route.params.id)
</script>

Reagire alle modifiche dei parametri

Quando cambia solo il parametro, ad esempio da /user/1 a /user/2, il componente viene riutilizzato. Osservare il parametro per ricaricare i dati.

import { watch } from "vue"
import { useRoute } from "vue-router"

const route = useRoute()
watch(() => route.params.id, (newId) => {
  loadUser(newId)
})

Più segmenti dinamici

Le route possono contenere più parti dinamiche.

const routes = [
  { path: "/user/:userId/post/:postId", component: Post }
]

// route.params.userId and route.params.postId

Route annidate

Le route annidate consentono di eseguire il rendering delle route figlie all'interno di un componente padre.

const routes = [
  {
    path: "/user/:id",
    component: UserLayout,
    children: [
      { path: "profile", component: Profile },
      { path: "posts", component: Posts }
    ]
  }
]

router-view annidato

Il componente padre deve avere un proprio router-view in cui eseguire il rendering dei componenti figli.

<!-- UserLayout.vue -->
<template>
  <h1>User</h1>
  <router-view></router-view>
</template>

<!-- /user/1/profile renders Profile here -->

Route denominate

Assegnare un name a una route per farvi riferimento senza inserire il percorso direttamente nel codice.

const routes = [
  {
    path: "/user/:id",
    name: "user",
    component: UserProfile
  }
]

Collegare per nome

router-link può puntare a una route denominata e passare i parametri come oggetto.

<router-link
  :to="{ name: 'user', params: { id: 42 } }"
>
  View User
</router-link>

Navigazione programmatica

Navigare da JavaScript con il metodo push del router.

import { useRouter } from "vue-router"

const router = useRouter()

function goToUser(id) {
  router.push({ name: "user", params: { id } })
}

Altri metodi di navigazione

Il router offre altri strumenti per la navigazione:

  • router.push: aggiunge una nuova voce nella cronologia
  • router.replace: naviga senza aggiungere una nuova voce nella cronologia
  • router.back: torna alla pagina precedente

Verifica rapida

Verificare la propria comprensione delle route dinamiche e annidate.

Riepilogo: route annidate e dinamiche

Ha imparato le funzionalità avanzate del routing:

  • I segmenti dinamici (/user/:id) vengono acquisiti in route.params
  • Le route annidate si definiscono tramite children e un router-view annidato
  • Le route denominate consentono di creare collegamenti usando il nome
  • router.push consente la navigazione programmatica

Prossimo argomento: le guardie di navigazione.

Domande Frequenti

La lezione «Route nidificate e dinamiche» è gratuita?

Sì — il testo completo di «Route nidificate e dinamiche» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Vue Academy, passa a CoddyKit PRO. Il corso Vue Academy include 3 lezioni in totale.

Cosa imparerò in «Route nidificate e dinamiche»?

Costruisca layout nidificati e parametri di route dinamici. Eserciti Vue Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Vue Academy?

Non è richiesta alcuna esperienza precedente. Vue Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «Route nidificate e dinamiche»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Vue Academy?

Sì. Ogni lezione Vue Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Configurazione di Vue Router
  2. Route nidificate e dinamiche
  3. Guardie di navigazione
← Torna a Vue Academy