Heim Web-Frontend View.js Detaillierte Erklärung der wunderbaren Verwendung von Vue-Router in Vue

Detaillierte Erklärung der wunderbaren Verwendung von Vue-Router in Vue

Jun 09, 2023 pm 04:08 PM
vue vue-router 妙用

Vue ist derzeit eines der beliebtesten Front-End-Frameworks. Es ist nicht nur einfach und benutzerfreundlich, sondern verfügt auch über eine starke Skalierbarkeit. Eines der Plug-Ins, auf die es sich zu achten lohnt. vue-router ist das offizielle Routing-Plug-in für Vue. Es kann die Routing-Navigation in Vue-Anwendungen besser steuern, die Beziehung zwischen Routing und Komponenten klarer machen und das interaktive Erlebnis des Benutzers verbessern. In diesem Artikel wird die Verwendung des Vue-Routers und seine wunderbaren Einsatzmöglichkeiten ausführlich erläutert.

1. Installation und Verwendung

Bevor Sie den Vue-Router verwenden, müssen Sie ihn zuerst installieren. Sie können den npm-Paketmanager verwenden, um das Vue-Router-Plugin zu installieren. Der Installationsbefehl lautet wie folgt:

npm install vue-router
Nach dem Login kopieren

Führen Sie nach Abschluss der Installation vue-router in der Datei main.js ein und verwenden Sie ihn:

import VueRouter from 'vue-router'
import routes from './router'

const router = new VueRouter({
      routes
})

new Vue({
      el: '#app',
      router,
      render: h => h(App)
})
Nach dem Login kopieren

Unter anderem gibt der Parameter „Routes“ die Routing-Konfiguration an, die je nach Projekt geändert werden kann Bedürfnisse. Übergeben Sie dann den Router-Parameter im Vue-Instanziierungsobjekt, um die Routing-Funktion zu aktivieren.

2. Grundkonfiguration

Die Routing-Konfiguration umfasst zwei Teile: Routing-Tabelle und Routing-Komponente. Die Routing-Tabelle wird hauptsächlich zum Konfigurieren von Routing-Pfaden und entsprechenden Komponenten verwendet. Die Routing-Komponente ist die Komponentenansicht des entsprechenden Routing-Pfads.

Erstellen Sie die Datei router.js im Verzeichnis src und definieren Sie die Routing-Tabelle und die Komponenten. Wie folgt:

import Home from './views/Home.vue'
import About from './views/About.vue'

export default [
    {
        path: '/',
        name: 'home',
        component: Home
    },
    {
        path: '/about',
        name: 'about',
        component: About
    }
]
Nach dem Login kopieren

Geben Sie dann die Routing-Konfiguration in main.js ein und übergeben Sie sie an die VueRouter-Instanz. Unter diesen wird der Routing-Pfad mithilfe des Pfadattributs konfiguriert, und das Komponentenattribut gibt die entsprechende Routing-Komponente an.

3. Parameterübergabe

Vue-Router unterstützt auch die Übergabe von Parametern, und die übergebenen Parameter können über das $route-Objekt abgerufen werden.

  1. Pfadübergabeparameter

Pfadübergabeparameter bedeutet, Parameter als Teil des Routingpfads zu platzieren, zum Beispiel:

{
  path: '/user/:userId',
  name: 'user',
  component: User
}
Nach dem Login kopieren

Wenn der Benutzer auf /user/1 zugreift, übergibt das Routing 1 als Parameter userId an die Benutzerkomponente .

  1. Übergabe von Abfrageparametern

Übergabe von Abfrageparametern bedeutet, dass die Parameter nach dem Routing-Pfad in Form von Schlüssel-Wert-Paaren platziert werden, getrennt durch Fragezeichen?, und aufeinanderfolgende Schlüssel-Wert-Paare werden mit & verbunden, zum Beispiel:

{
  path: '/user',
  name: 'user',
  component: User
}
Nach dem Login kopieren

Wenn ein Benutzer auf /user?id=1&name=john zugreift, übergibt die Route {id: 1, name: 'john'} als Abfrageparameter an die Benutzerkomponente.

4. Umleitung und verschachteltes Routing

  1. Umleiten

Umleiten bedeutet, automatisch zu einem anderen Pfad zu springen, wenn der Benutzer auf einen bestimmten Pfad im Browser zugreift. Der folgende Code implementiert die Funktion des automatischen Springens vom Pfad /about zum Pfad /home:

import Home from './views/Home.vue'
import About from './views/About.vue'

export default [
  {
    path: '/',
    redirect: '/home'
  },
  {
    path: '/home',
    name: 'home',
    component: Home
  },
  {
    path: '/about',
    redirect: '/home'
  }
]
Nach dem Login kopieren
  1. Verschachteltes Routing

Verschachteltes Routing bezieht sich auf Routing, bei dem untergeordnete Komponenten in übergeordneten Komponenten verwendet werden. Beispielsweise muss in einer Seite mit einer festen Struktur am Kopf und am Ende die Komponente „Inhalt“ verschachtelt werden. Die dreischichtige Struktur sieht so aus:

header
 / 
L   R
    |
content
    |
footer
Nach dem Login kopieren

Verschachtelte Routen müssen die Funktion verwenden. Tag innerhalb der übergeordneten Komponente, um den Platz zu belegen und die untergeordnete Routing-Tabelle innerhalb der Routing-Tabelle der übergeordneten Komponente zu definieren. Beispiel:

const home = {
  template: `
    <div>
      <h2>Home</h2>
      <router-view></router-view>
    </div>
  `
}

const about = {
  template: '<div>About</div>'
}

const contact = {
  template: '<div>Contact</div>'
}

const router = new VueRouter({
  routes: [
    {
      path: '/',
      name: 'home',
      component: home,
      children: [
        {
          path: 'about',
          name: 'about',
          component: about
        },
        {
          path: 'contact',
          name: 'contact',
          component: contact
        }
      ]
    }
  ]
})
Nach dem Login kopieren

verwendet das -Tag in der Home-Komponente als Platzhalter für die Unterkomponenten „about“ und „content“. In der Routing-Tabelle enthält die von der übergeordneten Komponente „home“ konfigurierte Sub-Routing-Tabelle zwei Sub-Routing-Pfade „about“ und „content“.

5. Routenschutz

  1. Globaler Schutz

Der globale Schutz wird vor dem Routing-Wechsel ausgelöst, wobei beforeEach() der globale Vorschutz ist, der Vorgänge wie Berechtigungsüberprüfung und Anmeldeüberprüfung durchführen kann.

router.beforeEach((to, from, next) => {
  // 验证用户是否登陆 
  if(to.path === '/login') {
    next();
  } else {
    let token = localStorage.getItem('token');

    if(token === null || token === '') {
      next('/login');
    } else {
      next();
    }
  }
})
Nach dem Login kopieren

Der globale Post-Guard dient zum Auslösen nach dem Routing-Umschalten und zur Verarbeitung von Vorgängen wie dem Fortschrittsbalken beim Laden der Seite.

  1. Route Exclusive Guard

Route Exclusive Guard wird verwendet, um eine spezifische Verarbeitung für eine bestimmte Route durchzuführen. Fügen Sie einfach die beforeEnter-Attributdefinition in der Routing-Konfiguration hinzu.

const router = new VueRouter({
  routes: [
    {
      path: '/admin',
      name: 'admin',
      component: admin,
      beforeEnter: (to, from, next) => {
        // 验证是否为管理员账户
        let token = localStorage.getItem('token');
        if(token === 'admin') {
          next();
        } else {
          next('/');
        }
      }
    }
  ]
})
Nach dem Login kopieren
  1. In-Komponenten-Schutz

In-Komponenten-Schutz wird hauptsächlich zur Verarbeitung der aktuellen Komponente verwendet. Einschließlich: drei Schutzfunktionen: beforeRouteEnter, beforeRouteUpdate und beforeRouteLeave.

Die Funktion beforeRouteEnter wird ausgelöst, bevor die Komponente eintritt. In dieser Funktion kann nicht direkt auf die Komponenteninstanz zugegriffen werden, aber die Komponenteninstanz kann zur Verarbeitung durch die nächste Rückruffunktion geleitet werden.

export default {
  data () {
    return {
      user: {}
    }
  },
  beforeRouteEnter (to, from, next) {
    axios.get(`/api/user/${to.params.id}`).then(response => {
      next(vm => vm.setUser(response.data.user))
    })
  },
  methods: {
    setUser (user) {
      this.user = user
    }
  }
}
Nach dem Login kopieren

beforeRouteUpdate-Funktion Da Routing-Sprünge zwischen Komponenten keine Instanzen neu erstellen, müssen Sie für die Verarbeitung die beforeRouteUpdate-Funktion verwenden. Die Funktion

export default {
  watch: {
    '$route' (to, from) {
      // 对路由变化作出响应...
    }
  },
  beforeRouteUpdate (to, from, next) {
    // react to route changes...
    // don't forget to call next()
  }
}
Nach dem Login kopieren

beforeRouteLeave wird ausgelöst, wenn die Komponente verlassen werden soll, und wird zur Verarbeitung von Vorgängen wie nicht gespeicherten Formulardaten verwendet.

export default {
  beforeRouteLeave (to, from, next) {
    // 如果表单已保存或者页面没有修改,直接离开该页面
    if (this.saved || window.confirm('尚未保存,确定要离开吗?')) {
      next()
    } else {
      next(false)
    }
  }
}
Nach dem Login kopieren

6. Zusammenfassung

Die Verwendung des Vue-Router-Plug-Ins kann leistungsstarke Steuerungsfunktionen für die Routing-Navigation in Vue-Anwendungen bereitstellen und so das interaktive Erlebnis des Benutzers verbessern. In diesem Artikel werden die Grundkonfiguration, Parameterübergabe, Umleitung, verschachteltes Routing und Routing-Guards von Vue-Router vorgestellt, die Entwicklern dabei helfen können, das Vue-Router-Plug-In besser zu nutzen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der wunderbaren Verwendung von Vue-Router in Vue. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

Was bedeutet VUE Multi-Page-Entwicklung? Was bedeutet VUE Multi-Page-Entwicklung? Apr 07, 2025 pm 11:57 PM

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

So übergeben Sie Parameter für die VUE -Funktion So übergeben Sie Parameter für die VUE -Funktion Apr 08, 2025 am 07:36 AM

Es gibt zwei Hauptmöglichkeiten, um Parameter an vue.js -Funktionen zu übergeben: Daten mit Slots übergeben oder eine Funktion mit Bindungen binden und Parameter bereitstellen: PLAMETER mithilfe von Slots: Daten in Komponentenvorlagen übergeben, in Komponenten zugegriffen und als Parameter der Funktion verwendet werden. Passparameter mit Bindungsbindung passieren: Bindungsfunktion in VUE.JS -Instanz und Bereitstellung von Funktionsparametern.

See all articles