suchen
HeimWeb-FrontendView.jsLassen Sie uns über Routing in Vue3 sprechen und kurz die Routing-Konfigurationsmethoden analysieren

Dieser Artikel führt Sie durch das Routing in Vue3 und spricht über die Grundkonfiguration des Routings, die dynamische Routing-Konfiguration, den Routing-Modus, die Routing-Umleitung usw. Ich hoffe, er wird Ihnen hilfreich sein.

Lassen Sie uns über Routing in Vue3 sprechen und kurz die Routing-Konfigurationsmethoden analysieren

【Verwandte Empfehlung: „vue.js-Tutorial

Grundlegende Konfiguration des Routings

1. Installieren Sie das Plug-in

npm install vue-router@next --save

2. Erstellen Sie eine routers.ts-Datei

3 .ts Komponenten vorstellen und Pfade konfigurieren.

import { createRouter,createWebHashHistory } from 'vue-router';
// 引入组件
import Home from './components/Home.vue';
import News from './components/News.vue';
import User from './components/User.vue';

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {path: '/', component: Home},
    {path: '/news', component: News},
    {path: '/user', component: User},
  ]
})

export default router;

4. Mounten Sie die Routing-Datei in vue in main.ts.

import { createApp } from 'vue'
import App from './App.vue'
import routers from './routers';

// createApp(App).mount('#app')

const app = createApp(App);
app.use(routers);
app.mount('#app');

5. Nachdem die Komponente, die Routing verwendet, den Router-Link über die Router-View-Komponente oder den Router-Link bereitstellt

<template>
  <img src="/static/imghwm/default1.png"  data-src="./assets/logo.png"  class="lazy"  alt="Vue logo" >
  <ul>
    <li>
      <router-link to="/">首页</router-link>
    </li>
    <li>
      <router-link to="/news">新闻</router-link>
    </li>
    <li>
      <router-link to="/user">用户</router-link>
    </li>
  </ul>

  <router-view></router-view>
</template>

, müssen Sie nur die angegebene Route auf dem Seitenpfad eingeben, der der Komponente entspricht, um den Sprung abzuschließen . Router -Link implementiert Routing in Form eines Labelsprungs.

Konfiguration des dynamischen Routings

Konfigurieren Sie das Routing in Routes.ts wie folgt und konfigurieren Sie das dynamische Routing über /:aid.

//配置路由
const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        { path: &#39;/&#39;, component: Home , alias: &#39;/home&#39; },
        { path: &#39;/news&#39;, component: News },
        { path: &#39;/user&#39;, component: User },
        { path: &#39;/newscontent/:aid&#39;, component: NewsContent },
    ], 
})

Beim Springen über den Router-Link sind eine Vorlagenzeichenfolge und ein Doppelpunkt + to erforderlich.

<ul>
    <li v-for="(item, index) in list" :key="index">
        <router-link  :to="`/newscontent/${index}`"> {{item}}</router-link>
    </li>
</ul>

Rufen Sie den von der dynamischen Route übergebenen Wert über this.$route.params ab.

mounted(){
    // this.$route.params 获取动态路由的传值
    console.log(this.$route.params)
}

Wenn wir eine Wertübertragung ähnlich wie GET implementieren möchten, können wir die folgende Methode verwenden

1 Konfigurieren Sie die Route als normale Route.

const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        { path: &#39;/&#39;, component: Home , alias: &#39;/home&#39; },
        { path: &#39;/news&#39;, component: News },
        { path: &#39;/user&#39;, component: User },
        { path: &#39;/newscontent&#39;, component: NewsContent },
    ], 
})

2. Router-Link-Sprünge in Form von Fragezeichen.

<router-link  :to="`/newscontent?aid=${index}`"> {{item}}</router-link>

3. Holen Sie sich den Get-Wert über this.$route.query.

console.log(this.$route.query);

Programmatische Routennavigation (JS-Sprungroute)

Geben Sie es einfach über this.$router.push an.

  this.$router.push({
    path: &#39;/home&#39;
  })

Wenn Sie die Get-Value-Übertragung implementieren möchten, können Sie die folgende Methode verwenden.

this.$router.push({
    path: &#39;/home&#39;,
    query: {aid: 14}
  })
}

Dynamisches Routing muss die folgende Methode verwenden.

  this.$router.push({
    path: &#39;/home/123&#39;,
    // query: {aid: 14}
  })

Routing-Modus

Hash-Modus

Das typische Merkmal des Hash-Modus ist, dass die Seitenroute ein Nummernzeichen enthält.

const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        ...,
    ], 
})

HTML5-Verlaufsmodus

  • Einführung von createWebHistory.

  • Das History-Attribut im Konfigurationselement des Routers ist auf createWebHistory() gesetzt.

import { createRouter, createWebHistory } from &#39;vue-router&#39;

//配置路由
const router = createRouter({
    history: createWebHistory(),
    routes: [
        ...
    ], 
})

Hinweis: Nachdem Sie den HTML5-Verlaufsmodus aktiviert haben, müssen Sie beim Veröffentlichen auf dem Server pseudostatisch konfigurieren.

So konfigurieren Sie Pseudostatik:

https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85% 8D %E7%BD%AE%E4%BE%8B%E5%AD%90

Benannte Route

Allgemeine Situation

  • Konfigurieren Sie das Namensattribut beim Definieren der Route

{ path: &#39;/news&#39;, component: News,name:"news" }
  • Eingehend Objekt springen

<router-link :to="{name: &#39;news&#39;}">新闻</router-link>

Übergeben Sie den Wert über GET

  • Konfigurieren Sie das Namensattribut beim Definieren der Route

{ path: &#39;/newscontent&#39;, component: NewsContent, name: "content" },
  • Übergeben Sie das Objekt einschließlich der Abfrage

<li v-for="(item, index) in list" :key="index">
    <router-link  :to="{name: &#39;content&#39;,query: {aid: index}}"> {{item}}</router-link>
</li>

Durch dynamische Routing-Methode

  • Dynamisches Routing definieren und das Namensattribut angeben

{ path: &#39;/userinfo/:id&#39;, name: "userinfo", component: UserInfo }
  • Übergeben Sie das Objekt einschließlich der Parameter

<router-link :to="{name: &#39;userinfo&#39;,params: {id: 123}}">跳转到用户详情</router-link>

Programmatisches Routing

ist der oben genannten Methode sehr ähnlich.

<button @click="this.$router.push({name: &#39;userinfo&#39;,params: {id: 666}})">点击跳转</button>

Routenumleitung

{ path: &#39;&#39;, redirect: "/home" },   // 路由重定向
{ path: &#39;/home&#39;, component: Home },

Routen-Alias

Im folgenden Beispiel ist der Zugriff auf die Personenroute dasselbe wie der Zugriff auf die Alias-Route.

{ path: &#39;/user&#39;, component: User, alias: &#39;/people&#39; }

alias kann auch ein Array sein.

{ path: &#39;/user&#39;, component: User, alias: [&#39;/people&#39;,&#39;/u&#39;]}

Form des dynamischen Routings.

{ path: &#39;/userinfo/:id&#39;, name: "userinfo", component: UserInfo, alias: &#39;/u/:id&#39; }

Nested Routing

Das Anwendungsszenario von Nested Routing befindet sich im Allgemeinen in der Navigationsleiste. „Definieren Sie verschachtelte Routen.“ !

Das obige ist der detaillierte Inhalt vonLassen Sie uns über Routing in Vue3 sprechen und kurz die Routing-Konfigurationsmethoden analysieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:掘金社区. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Reagieren und Netflix: Erforschen der BeziehungReagieren und Netflix: Erforschen der BeziehungApr 26, 2025 am 12:11 AM

Netflix verwendet React, um die Benutzererfahrung zu verbessern. 1) Die komponentierten Merkmale von React unterstützen die Netflix -Komplex -Benutzeroberfläche in überschaubare Module. 2) Virtual DOM optimiert UI -Updates und verbessert die Leistung. 3) Die Kombination von Redux und GraphQL verwaltet Netflix den Anwendungsstatus und den Datenfluss effizient.

Vue.js vs. Backend Frameworks: Klärung der UnterscheidungVue.js vs. Backend Frameworks: Klärung der UnterscheidungApr 25, 2025 am 12:05 AM

Vue.js ist ein Front-End-Framework, und das Back-End-Framework wird verwendet, um die serverseitige Logik zu verarbeiten. 1) Vue.js konzentriert sich auf den Aufbau von Benutzeroberflächen und vereinfacht die Entwicklung durch komponentierte und reaktionsschnelle Datenbindung. 2) Back-End-Frameworks wie Express- und Django-HTTP-Anforderungen, Datenbankvorgänge und Geschäftslogik und auf dem Server ausgeführt.

Vue.js und der Frontend Stack: Verständnis der VerbindungenVue.js und der Frontend Stack: Verständnis der VerbindungenApr 24, 2025 am 12:19 AM

Vue.js ist eng in den Front-End-Technologie-Stack integriert, um die Entwicklungseffizienz und die Benutzererfahrung zu verbessern. 1) Konstruktionstools: Integrieren Sie sich in Webpack und Rollup, um eine modulare Entwicklung zu erzielen. 2) Staatsmanagement: Integrieren Sie sich in Vuex, um den komplexen Anwendungsstatus zu verwalten. 3) Routing: Integrieren Sie sich in Vuerouter, um einseitige Anwendungsrouting zu realisieren. 4) CSS -Präprozessor: Unterstützt SASS und weniger, um die Stilentwicklungseffizienz zu verbessern.

Netflix: Erforschung der Verwendung von React (oder anderen Frameworks)Netflix: Erforschung der Verwendung von React (oder anderen Frameworks)Apr 23, 2025 am 12:02 AM

Netflix wählte React, um seine Benutzeroberfläche zu erstellen, da die Komponentendesign und der virtuelle DOM -Mechanismus von React komplexe Schnittstellen und häufige Updates effizient verarbeiten können. 1) Komponentenbasiertes Design ermöglicht es Netflix, die Schnittstelle in überschaubare Widgets zu unterteilen und die Entwicklungseffizienz und Code-Wartbarkeit zu verbessern. 2) Der virtuelle DOM -Mechanismus sorgt für die Glätte und hohe Leistung der Netflix -Benutzeroberfläche durch Minimierung von DOM -Operationen.

Vue.js und das Frontend: Ein tiefer Eintauchen in den RahmenVue.js und das Frontend: Ein tiefer Eintauchen in den RahmenApr 22, 2025 am 12:04 AM

Vue.js wird von Entwicklern geliebt, weil es einfach zu bedienen und mächtig ist. 1) Das reaktionsschnelle Datenbindungssystem aktualisiert die Ansicht automatisch. 2) Das Komponentensystem verbessert die Wiederverwendbarkeit und Wartbarkeit des Codes. 3) Computereigenschaften und Hörer verbessern die Lesbarkeit und Leistung des Codes. 4) Die Verwendung von Vodevtools und Überprüfung auf Konsolenfehler sind häufige Debugging -Techniken. 5) Die Leistungsoptimierung umfasst die Verwendung von Schlüsselattributen, berechneten Attributen und Keep-Alive-Komponenten. 6) Zu den Best Practices zählen eindeutige Komponentenbenennungen, die Verwendung von Einzeldateikomponenten und die rationale Verwendung von Lebenszyklushaken.

Die Kraft von Vue.js am Frontend: Schlüsselmerkmale und VorteileDie Kraft von Vue.js am Frontend: Schlüsselmerkmale und VorteileApr 21, 2025 am 12:07 AM

VUE.JS ist ein progressives JavaScript-Framework, das zum Aufbau effizienter und wartbarer Front-End-Anwendungen geeignet ist. Zu den wichtigsten Merkmalen gehören: 1. Responsive Datenbindung, 2. Komponentenentwicklung, 3. Virtual DOM. Durch diese Funktionen vereinfacht Vue.js den Entwicklungsprozess, verbessert die Anwendungsleistung und -wartbarkeit und macht ihn in der modernen Webentwicklung sehr beliebt.

Ist Vue.js besser als React?Ist Vue.js besser als React?Apr 20, 2025 am 12:05 AM

Vue.js und reagieren jeweils ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektanforderungen und den Teambedingungen ab. 1) Vue.js eignet sich aufgrund seiner Einfachheit und einfach zu bedienung für kleine Projekte und Anfänger. 2) React ist aufgrund seines reichhaltigen Ökosystem- und Komponentendesigns für große Projekte und komplexe Benutzeroberflächen geeignet.

VUE.JS -Funktion: Verbesserung der Benutzererfahrung am FrontendVUE.JS -Funktion: Verbesserung der Benutzererfahrung am FrontendApr 19, 2025 am 12:13 AM

Vue.js verbessert die Benutzererfahrung durch mehrere Funktionen: 1. Responsives System realisiert Echtzeitdaten-Feedback; 2. Die Komponentenentwicklung verbessert die Wiederverwendbarkeit des Codes; 3.. Vuerouter bietet eine reibungslose Navigation; 4. Dynamische Datenbindung und Übergangsanimation verbessern den Interaktionseffekt; 5. Fehlerverarbeitungsmechanismus sorgt für das Feedback der Benutzer. 6. Leistungsoptimierung und Best Practices verbessern die Anwendungsleistung.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft