vue N​​progress のプログレスバー機能を実装する際の一般的な問題

vue N​​progress のプログレスバー機能を実装する際の一般的な問題

NProgress は、ページがジャンプしたときにブラウザの上部に表示される進行状況バーです。公式ウェブサイト: http://ricostacruz.com/nprogress/
github: https://github.com/rstacruz/nprogress

下の図の上部にあるプログレス バーは非常に一般的であり、 vueプロジェクトには対応するプラグインがあります。 Nprogress

ここに画像の説明を挿入

Nprogressプログレスバーの使用方法は次のとおりです。

1. nprogressプラグインをインストールする

npm install --save nprogress
ここでの--save -sと同等であり、プラグインの名前とバージョン番号をpackage.jsonファイル内のdependenciesに保存することに注意してください。これにより、他のユーザーがプロジェクトをクローンしたときに、 npm installを通じてすべてのプラグインをnode_modulesにダウンロードできるようになります。

2. nprogressプラグインの使用

ここでのプログレスバーは主にページルーティングのジャンプ処理で使用されるため、 router/index.jsで直接使用できます。

ルートがジャンプする前にプログレスバーの読み込みを開始し、ルートがジャンプした後にプログレスバーの読み込みを終了します。

router/index.jsファイルの内容は次のとおりです。

「vue」からVueをインポートします。
「vue-router」から VueRouter をインポートします。
「@/store」からストアをインポートします。
HomeLayout フォームを "@/views/home/layout" としてインポートします。
「nprogress」からNProgressをインポートします。
「./modules/userCenter」からuserCenterをインポートします。
'nprogress/nprogress.css' をインポートします
Vue.use(VueRouter);
NProgress.inc(0.2);
NProgress.configure({easing:'ease',speed:2000,showSpinner:false,trickle:false})
const ルート = [{
	パス:"/"、
	名前:"インデックス",
	リダイレクト:"/index"
},{
	パス:"/index",
	名前:'インデックス',
	コンポーネント:()=>import ('@/views/home/index.vue')、
	meta:{title:'ホームページ'}
},{
	パス:'/home',
	名前:'ホーム',
	コンポーネント:()=>import('@/views/home/main'),
	meta:{title:'ホームページ'}
},{
	パス:'/login',
	名前:'ログイン',
	コンポーネント:()=>import ('@/views/login')、
	meta:{title:'ログイン'}
},{
	パス:'/register',
	名前:'登録',
	コンポーネント:()=>import('@/views/register'),
	meta:{title:'登録'}
},{
	パス:'/404',
	名前:'404',
	コンポーネント:()=>import('@/views/errorPage')
},{
	パス:'*'、
	リダイレクト:'/404'
}]
const ルーター = 新しい VueRouter({
	モード: '履歴',
	ルート
})
//ルーティング前にインターセプト router.beforeEach((to,from,next)=>{
	//ページがジャンプする前に、プログレス バーを開始します NProgress.start();
	// いくつかの傍受操作、ログイン権限など...
	const token = window.localStorage.getItem('token'); //localstorageからキャッシュを取得 if(to.meta.title){
		document.title = to.meta.title; //ブラウザタブのタイトルをページのタイトルに変更します
	}
	store.commit('changeCurrentPage',to.path);
	定数reg = /[a-zA-Z]+\/$/;
	//検証を必要としないルートに直接リダイレクトする if(!to.meta.requireAuth){
		if (reg.test(to.path)){
			次は、to.path.replace(reg,'') です。
			戻る;
		}
		次();
		戻る
	}
	if(token&&to.name!=='インデックス'){
		// すでにログインしており、リダイレクトされるページはログインページではありません if(reg.test(to.path)){
			次は、to.path.replace(reg,'') です。
			戻る;
		}
		next();//直接ジャンプできます }else if(token && to.name == 'Index'){
		//ログインしていてジャンプしたいページはログインページです if(reg.test(to.path)){
			次は、to.path.replace(reg,'') です。
			戻る
		}
		next('/home');//ホームページに直接ジャンプします }else if(!token && to.name !='Index'){
		//ログインしておらず、ジャンプ先のページがログインページではない next('/index');//ログインページにジャンプ }else{
		if (reg.test(to.path)){
			次は、to.path.replace(reg,'') です。
			戻る;
		}
		次()
	}
})
ルータ.afterEach(to=>{
	NProgress.done();
	ウィンドウを0,0にスクロールします。
})
//現在のページ メニューの繰り返しクリックを処理し、警告を発行します。const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = 関数push(location){
	元のPush.call(this,location).catch(err=>err) を返します。
}
デフォルトルーターをエクスポートします。

上記の要点は次のとおりです。

プラグインと対応するcssを導入する

ここに画像の説明を挿入

nprogress構成パラメータ

ここに画像の説明を挿入

3. router.beforeEachがルートジャンプ前にインターセプトすると、読み込みプログレスバーが表示されます。

ここに画像の説明を挿入

4. router.afterEachルートジャンプが終了したら、プログレスバーを閉じます。

ここに画像の説明を挿入

3. スタイルを変更するnprogressプラグイン

App.vueファイルのstyleで、次のコードを追加してプログレスバーの色を変更します。

#nprogress .bar {
  背景: #f90 !important; //カスタムカラー}

これで、vue N​​progress プログレスバー機能の実装に関するこの記事は終了です。vue N​​progress プログレスバーの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue で nprogress ページ読み込みプログレスバーを実装する方法
  • Vueはルーティングプログレスバーをロードするためにnprogressを使用します
  • Vueはnprogressを使用してプログレスバーを実装します
  • Vueはnprogressを設定してページ上部にプログレスバーを実装します。
  • Vue で NProgress プログレスバーを使用する方法
  • Vue プロジェクトで Nprogress.js プログレス バーを使用する方法

<<:  SELINUXの動作原理の詳細な説明

>>:  MySQL 8.0.17 インストール グラフィック チュートリアル

推薦する

階段効果を実現するためのWeChatアプレットカスタムメニューナビゲーション

設計意図ページを開発する際には、ページ上のナビゲーション メニューをクリックしたときにページを対応す...

ウェブページを作成する際に注意すべき点

--ホームページのバックアップ1.txtテキスト2. 画像をスキャンする3. PSDデザイン原画(A...

高速でクールな揺れアニメーション効果を実現するCSS

1. Animate.css の紹介Animate.css は、Web プロジェクトですぐに使用で...

Linux gzipコマンドの使用

1. コマンドの紹介gzip (GNU zip) コマンドは、ファイルの圧縮と解凍に使用されます。こ...

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...

MySql 5.6.35 winx64 インストール詳細チュートリアル

注: データベースのバージョンの問題により、プロジェクトの起動時にエラーは発生しませんでしたが、デー...

ランダム点呼 Web ページを実装するための JavaScript

JavaScriptは、参考のためにランダムな点呼Webページを作成します。具体的な内容は次のとお...

SQL 面接の質問: 時間差の合計を求める (重複は無視)

ある会社の BI 職の面接を受けたとき、面接で SQL に関する質問がありました。一見すると非常に簡...

MySQLスレーブライブラリの復元の実践記録

状況の説明:今日、MySQL データベースのスレーブ ノード ホストにログインしたところ、/var/...

Tomcat サーバーの設定と Web プロジェクトの公開に関する IDEA グラフィック チュートリアル

1. Webプロジェクトを作成したら、Tomcatを例にサーバーを構成する必要があります。 2. 実...

Dockerを使用して外部からアクセス可能なMySQLを構築する詳細な説明

MySQL 8.0をインストールする docker run -p 63306:3306 -e MYS...

Vue スキャフォールディング プロジェクトを作成するための詳細な手順

vue スキャフォールディング -> vue.cli大規模で完全に機能する Vue プロジェク...

Docker を使用して MySQL および Redis サービスをデプロイする方法

目次Dockerを使用してMySQLサービスをデプロイする方法DockerでRedisサービスをデプ...

Bツリーの特性の紹介

B ツリーは一般的なデータ構造です。彼と一緒にB+ツリーがあります。ここで、概念を明確にする必要があ...