Heim > Web-Frontend > View.js > Hauptteil

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

青灯夜游
Freigeben: 2021-12-21 10:35:02
nach vorne
3725 Leute haben es durchsucht

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
Nach dem Login kopieren

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;
Nach dem Login kopieren

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');
Nach dem Login kopieren

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

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <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>
Nach dem Login kopieren

, 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 },
    ], 
})
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

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

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 },
    ], 
})
Nach dem Login kopieren

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

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

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

console.log(this.$route.query);
Nach dem Login kopieren

Programmatische Routennavigation (JS-Sprungroute)

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

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

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}
  })
}
Nach dem Login kopieren

Dynamisches Routing muss die folgende Methode verwenden.

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

Routing-Modus

Hash-Modus

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

const router = createRouter({

    history: createWebHashHistory(),
    routes: [
        ...,
    ], 
})
Nach dem Login kopieren

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: [
        ...
    ], 
})
Nach dem Login kopieren

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" }
Nach dem Login kopieren
  • Eingehend Objekt springen

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

Übergeben Sie den Wert über GET

  • Konfigurieren Sie das Namensattribut beim Definieren der Route

{ path: &#39;/newscontent&#39;, component: NewsContent, name: "content" },
Nach dem Login kopieren
  • Ü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>
Nach dem Login kopieren

Durch dynamische Routing-Methode

  • Dynamisches Routing definieren und das Namensattribut angeben

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

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

Programmatisches Routing

ist der oben genannten Methode sehr ähnlich.

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

Routenumleitung

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

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; }
Nach dem Login kopieren

alias kann auch ein Array sein.

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

Form des dynamischen Routings.

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

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!

Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!