Häufige Probleme bei der Implementierung der Fortschrittsbalkenfunktion von vue Nprogress

Häufige Probleme bei der Implementierung der Fortschrittsbalkenfunktion von vue Nprogress

NProgress ist der Fortschrittsbalken, der oben im Browser angezeigt wird, wenn die Seite springt. Offizielle Website: http://ricostacruz.com/nprogress/
github: https://github.com/rstacruz/nprogress

Der obere Fortschrittsbalken im Bild unten ist sehr verbreitet und im vue -Projekt gibt es ein entsprechendes Plug-In. Nprogress

Bildbeschreibung hier einfügen

Die Verwendung des Nprogress Fortschrittsbalkens ist wie folgt:

1. Installieren Sie das nprogress -Plugin

npm install --save nprogress
Beachten Sie, dass --save hier gleichbedeutend mit -s ist, wodurch der Name und die Versionsnummer des Plug-Ins in dependencies in der Datei package.json gespeichert werden, sodass andere, wenn sie das Projekt klonen, alle Plug-Ins über npm install in node_modules herunterladen können.

2. Verwendung des nprogress -Plugins

Der Fortschrittsbalken wird hier hauptsächlich im Sprungprozess der Seitenweiterleitung verwendet und kann daher direkt in router/index.js verwendet werden:

Starten Sie vor den Routensprüngen das Laden des Fortschrittsbalkens und beenden Sie das Laden des Fortschrittsbalkens nach den Routensprüngen.

Der Inhalt der Datei router/index.js ist wie folgt:

importiere Vue von „vue“;
importiere VueRouter von „vue-router“;
Store aus „@/store“ importieren;
HomeLayout-Formular "@/views/home/layout" importieren;
importiere NProgress von „nprogress“;
importiere userCenter aus "./modules/userCenter";
importiere „nprogress/nprogress.css“
Vue.use(VueRouter);
NProgress.inc(0,2);
NProgress.configure({easing:'ease',Geschwindigkeit:2000,showSpinner:false,trickle:false})
const Routen = [{
	Weg:"/",
	Name:"Index",
	Umleitung:"/index"
},{
	Pfad:"/index",
	Name:'Index',
	Komponente:()=>importieren ('@/views/home/index.vue'),
	meta:{title:'Homepage'}
},{
	Pfad: „/home“,
	Name:'Home',
	Komponente:()=>import('@/views/home/main'),
	meta:{title:'Homepage'}
},{
	Pfad: '/login',
	Name:'Anmelden',
	Komponente:()=>importieren ('@/views/login'),
	meta:{title:'Anmelden'}
},{
	Pfad: '/register',
	Name: 'Registrieren',
	Komponente:()=>importieren('@/views/register'),
	meta:{title:'Registrieren'}
},{
	Pfad: '/404',
	Name:'404',
	Komponente:()=>import('@/views/errorPage')
},{
	Weg:'*',
	Weiterleitung: '/404'
}]
const router = neuer VueRouter({
	Modus: „Verlauf“,
	Routen
})
//Abfangen vor dem Routing router.beforeEach((to,from,next)=>{
	//Bevor die Seite springt, starten Sie den Fortschrittsbalken NProgress.start();
	//Einige Abfangvorgänge, Anmeldeberechtigungen usw.
	const token = window.localStorage.getItem('token'); //Cache vom lokalen Speicher abrufen if(to.meta.title){
		document.title = to.meta.title; //Ändere den Titel der Browser-Registerkarte in den Titel der Seite
	}
	store.commit('aktuelleSeiteändern',to.path);
	const reg = /[a-zA-Z]+\/$/;
	//Direkte Weiterleitung zu Routen, die keine Verifizierung erfordern if(!to.meta.requireAuth){
		wenn (reg.test(zu.Pfad)){
			weiter(zu.Pfad.ersetzen(reg,''));
			zurückkehren;
		}
		nächste();
		zurückkehren
	}
	wenn(token&&to.name!=='Index'){
		// Bereits angemeldet und die Seite, auf die umgeleitet werden soll, ist nicht die Anmeldeseite if(reg.test(to.path)){
			weiter(zu.Pfad.ersetzen(reg,''));
			zurückkehren;
		}
		next();//Sie können direkt springen }else if(token && to.name == 'Index'){
		//Die Seite, zu der Sie angemeldet sind und springen möchten, ist die Anmeldeseite if(reg.test(to.path)){
			weiter(zu.Pfad.ersetzen(reg,''));
			zurückkehren
		}
		next('/home');//direkt zur Homepage springen }else if(!token && to.name !='Index'){
		//Nicht angemeldet und die anzuspringende Seite ist nicht die Anmeldeseite next('/index');//Zur Anmeldeseite springen }else{
		wenn (reg.test(zu.Pfad)){
			weiter(zu.Pfad.ersetzen(reg,''));
			zurückkehren;
		}
		nächste()
	}
})
router.afterEach(to=>{
	NProgress.done();
	Fenster.scrollTo(0,0);
})
//Wiederholte Klicks auf das aktuelle Seitenmenü verarbeiten, Warnprobleme const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = Funktion push(Standort){
	gebe originalPush.call(diesen,Standort).catch(err=>err);
}
Standardrouter exportieren;

Die wichtigsten Punkte oben sind wie folgt:

Einführung von Plug-Ins und entsprechendem css

Bildbeschreibung hier einfügen

nprogress -Konfigurationsparameter

Bildbeschreibung hier einfügen

3. Wenn router.beforeEach vor dem Routensprung abfängt, wird der Ladefortschrittsbalken

Bildbeschreibung hier einfügen

4. Schließen Sie den Fortschrittsbalken, nachdem router.afterEach jeden Routensprung beendet ist

Bildbeschreibung hier einfügen

3. nprogress -Plugin zum Ändern des Stils

Fügen Sie im style der Datei App.vue den folgenden Code hinzu, um die Farbe des Fortschrittsbalkens zu ändern

#nprogress .bar {
  Hintergrund: #f90 !wichtig; //benutzerdefinierte Farbe}

Dies ist das Ende dieses Artikels über die Implementierung der Vue Nprogress-Fortschrittsbalkenfunktion. Weitere verwandte Inhalte zum Vue Nprogress-Fortschrittsbalken finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Methode zum Implementieren des nprogress-Fortschrittsbalkens zum Laden von Seiten in Vue
  • Vue verwendet nprogress, um den Routing-Fortschrittsbalken zu laden
  • Vue verwendet nprogress, um Fortschrittsbalken zu implementieren
  • Vue konfiguriert nprogress, um den Fortschrittsbalken oben auf der Seite zu implementieren
  • So verwenden Sie den NProgress-Fortschrittsbalken in Vue
  • So verwenden Sie den Fortschrittsbalken von Nprogress.js im Vue-Projekt

<<:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.17

>>:  Grafisches Installationstutorial für MySQL 8.0.17

Artikel empfehlen

So installieren Sie das Modul „lua-nginx-module“ in Nginx

ngx_lua_module ist ein Nginx-HTTP-Modul, das den ...

js canvas realisiert Bilder mit abgerundeten Ecken

In diesem Artikel wird der spezifische Code von J...

Tutorial zu den Grundlagen von JavaScript und JQuery Framework

Inhaltsverzeichnis 1. JS-Objekt DOM –1, Funktion ...

Vue implementiert einen einfachen Rechner

In diesem Artikelbeispiel wird der spezifische Co...

Grundlegendes Tutorial zur Bedienung von Dateien und Berechtigungen in CentOS

Vorwort Bevor wir beginnen, sollten wir uns kurz ...

Warum ist es langsam, wenn Limit- und Offset-Paging-Szenarien verwendet werden?

Beginnen wir mit einer Frage Als ich vor fünf Jah...

Verständnis für Webdesign-Layout

<br />Hier ergibt sich ein Widerspruch: In k...

So stellen Sie den Node.js-Dienst mithilfe von Dockerfile bereit

Dockerfile initialisieren Angenommen, unser Proje...