Heim >Web-Frontend >js-Tutorial >Implementieren Sie mehrere Routing-Implementierungen in Vue-Router2.X
Jetzt werde ich Ihnen eine Zusammenfassung der verschiedenen Routing-Implementierungsmethoden von Vue-Router2.X geben. Sie hat einen guten Referenzwert und ich hoffe, dass sie für alle hilfreich ist.
Hinweis: Vue-Router 2 gilt nur für die Vue2.x-Version. Im Folgenden wird erläutert, wie Sie Vue-Router 2 verwenden, um die Routing-Funktion basierend auf Vue2.0 zu implementieren.
Es wird empfohlen, für die Installation npm zu verwenden.
npm install vue-router
1. Routing verwenden
In main.js müssen Sie die Routing-Funktion explizit installieren:
import Vue from 'vue' import VueRouter from 'vue-router' import App from './App.vue' Vue.use(VueRouter)
1. Definieren Sie die Komponente, hier verwenden wir den Import aus anderen Dateien
import index from './components/index.vue' import hello from './components/hello.vue'
Definieren Sie die Route
const routes = [ { path: '/index', component: index }, { path: '/hello', component: hello }, ]
3 eine Router-Instanz und dann Routenkonfiguration übergeben
const router = new VueRouter({ routes })
4. Erstellen und mounten Sie die Root-Instanz. Fügen Sie Routen über Router-Konfigurationsparameter ein, sodass die gesamte Anwendung über Routing-Funktionen verfügt
const app = new Vue({ router, render: h => h(App) }).$mount('#app')
Nach der obigen Konfiguration werden die mit der Route übereinstimmenden Komponenten in der 3b98d3dcbd970ff4cc00075cd76585a9
Dann sollte App.vue so schreiben:
<template> <p id="app"> <router-view></router-view> </p> </template> index.html里呢要这样写: <body> <p id="app"></p> </body>
Dadurch wird die Seite gerendert auf dem p mit der ID von app gemountet.
2. Weiterleitung
const routes = [ { path: '/', redirect: '/index'}, // 这样进/ 就会跳转到/index { path: '/index', component: index } ]
3. Verschachteltes Routing
const routes = [ { path: '/index', component: index, children: [ { path: 'info', component: info} ] } ]
Sie können über /index/info auf die Info-Komponente zugreifen
4. Lazy Loading
const routes = [ { path: '/index', component: resolve => require(['./index.vue'], resolve) }, { path: '/hello', component: resolve => require(['./hello.vue'], resolve) }, ]
Durch Lazy Loading ist das nicht möglich Komponenten werden auf einmal geladen, und nur diese Komponente wird geladen, wenn Sie auf diese Komponente zugreifen. Bei Anwendungen mit vielen Komponenten wird die Erstladegeschwindigkeit verbessert.
5. b988a8fd72e5e0e42afffd18f951b277
In Vue-Router 2, b988a8fd72e5e0e42afffd18f951b277
<!-- 字符串 --> <router-link to="home">Home</router-link> <!-- 渲染结果 --> <a href="home" rel="external nofollow" >Home</a> <!-- 使用 v-bind 的 JS 表达式 --> <router-link v-bind:to="'home'">Home</router-link> <!-- 不写 v-bind 也可以,就像绑定别的属性一样 --> <router-link :to="'home'">Home</router-link> <!-- 同上 --> <router-link :to="{ path: 'home' }">Home</router-link> <!-- 命名的路由 --> <router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link> <!-- 带查询参数,下面的结果为 /register?plan=private --> <router-link :to="{ path: 'register', query: { plan: 'private' }}">Register</router-link>
6. Routing-Informationsobjekt
1.$route.path
Die Zeichenfolge, die dem Pfad der aktuellen Route entspricht, wird immer in einen absoluten Pfad aufgelöst, z. B. „/foo/bar“.
2.$route.params
Ein Schlüssel-/Wertobjekt, einschließlich dynamischer Fragmente und vollständig übereinstimmender Fragmente. Wenn keine Routing-Parameter vorhanden sind, handelt es sich um ein leeres Objekt .
3.$route.query
Ein Schlüssel/Wert-Objekt, das URL-Abfrageparameter darstellt. Zum Beispiel für den Pfad /foo?user=1, $route.query.user == 1 oder ein leeres Objekt, wenn keine Abfrageparameter vorhanden sind.
4.$route.hash
Der Hashwert der aktuellen Route (ohne #), wenn kein Hashwert vorhanden ist, handelt es sich um eine leere Zeichenfolge.
5.$route.fullPath
Die URL nach Abschluss der Analyse, einschließlich des vollständigen Pfads der Abfrageparameter und des Hashs.
6.$route.matched
Ein Array, das die Routing-Datensätze aller verschachtelten Pfadfragmente der aktuellen Route enthält. Routendatensätze sind Kopien von Objekten im Routenkonfigurationsarray (und im untergeordneten Array).
Basierend auf dem oben Gesagten sieht eine main.js einschließlich Umleitung, verschachteltem Routing und Lazy Loading wie folgt aus:
import Vue from 'vue' import VueRouter from 'vue-router' import App from './App' Vue.use(VueRouter) const router = new VueRouter({ routes:[ { path: '/', redirect: '/index' }, { path: '/index', component: resolve => require(['./components/index.vue'], resolve), children:[ { path: 'info', component: resolve => require(['./components/info.vue'], resolve) } ] }, { path: '/hello', component: resolve => require(['./components/hello.vue'], resolve) }, ] }) const app = new Vue({ router, render: h => h(App) }).$mount('#app')
Das Obige ist Was ich zusammengestellt habe, hoffe ich, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Wie integriere ich Vue in ein JQuery/Bootstrap-Projekt?
Klicken Sie auf die Seitenzahl, um den Seiteninhalt beim Paging in vue.js zu ändern
So implementieren Sie Wertübertragung und Kommunikation in vue2.0 Komponenten
Das obige ist der detaillierte Inhalt vonImplementieren Sie mehrere Routing-Implementierungen in Vue-Router2.X. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!