Vue のナビゲーション フックとは何ですか?
Vue には 3 種類のナビゲーション フックがあります: 1. グローバル ガード フック、これはルーティング サンプルに直接動作するフック関数を指し、すべてのルーティング設定コンポーネントがトリガーされるという特徴があります。 2. ルート専用ガードフックとは、単一ルート設定時にも設定でき、そのルート下でのみ動作するフック機能を指します。 3. ローカルガードフックとは、配列内のライフサイクル関数と同様にコンポーネント内で実行されるフック関数を指し、ルーティングが設定されたコンポーネントに追加されたライフサイクルフック関数に相当します。
#ナビゲーション フックの分類グローバル ガード
- ルート非依存エンジョイ ガード
- ローカル ガード
1. グローバル ガード は、ルーティング例 機能の特徴は、すべてのルーティング構成コンポーネントがトリガーされることです。簡単に言うと、ルーティングをトリガーすると、これらのフック関数がトリガーされます。フック関数の実行順序には、beforeEach、beforeResolve、afterEach があります。
[beforeEach]<strong>: ルートがジャンプする前にトリガーされます。パラメーターには、to、from、next が含まれます。このフックの主な機能これはログイン認証に使用されます。つまり、ルートがジャンプする前に事前に通知され、ジャンプしてから通知するのが手遅れになることを回避します。 </strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'> router.beforeEach router.beforeResolve router.afterEach
const router = new VueRouter({ ... });
router.beforeEach((to, from, next) => {
// do someting
});</pre><div class="contentsignin">ログイン後にコピー</div></div>
- from: 現在出発しているルートを表します。これもルーティング オブジェクトです。
- next : これは呼び出す必要があるメソッドであり、具体的な実行効果は次のメソッド呼び出しのパラメータによって異なります。
#[beforeResolve] <strong>: このフックは beforeEach に似ています。ルートがジャンプする前にもトリガーされます。また、to、from、next の 3 つのパラメーターがあります。beforeEach との違いの公式説明は次のとおりです: </strong>
つまり、コンポーネント内の beforeEach と beforeRouteEnter の後、afterEach の後、および afterEach の前に呼び出されます。
[afterEach]<strong>: beforeEach とは対照的に、ルート ジャンプが完了した後にトリガーされます。パラメーターには to と from が含まれます。次に、beforeEach と beforeResolve の後、および beforeRouteEnter (ガード内のフットプリント) の前に発生します。 </strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'> const router = new VueRouter({ ... });
router.beforeEach((to, from, next) => {
// do someting
});
//全局后置钩子,后置钩子并没有 next 函数,也不会改变导航本身
router.afterEach((to, from) => {
// do someting
});</pre><div class="contentsignin">ログイン後にコピー</div></div>
2. ルート排他ガード は、単一のルートを構成するときにも設定でき、このルート下でのみ動作できるフック関数を指します。その場所は次のとおりです。つまり、File などのコンポーネントにはそのようなフック関数があります。現在、Enter の前にフック関数が 1 つだけあります。
[beforeEnter]: beforeEach とまったく同じです。両方を設定すると、beforeEach の直後に実行されます。パラメータは to、from、next です。
cont router = new VueRouter({
routes: [
{
path: '/file',
component: File,
beforeEnter: (to, from ,next) => {
// do someting
}
}
]
});
3. ローカル ガード は、配列内のライフサイクル関数と同様、コンポーネント内で実行されるフック関数を指します。ルーティングを設定したコンポーネントにライフサイクルフック機能を追加しました。フック関数には、実行順に beforeRouteEnter、beforeRouteUpdate (2.2 の新機能)、beforeRouteLeave が含まれており、実行場所は次のとおりです:
const File = { template: `<div>This is file</div>`, beforeRouteEnter(to, from, next) { // do someting // 在渲染该组件的对应路由被 confirm 前调用 }, beforeRouteUpdate(to, from, next) { // do someting // 在当前路由改变,但是依然渲染该组件是调用 }, beforeRouteLeave(to, from ,next) { // do someting // 导航离开该组件的对应路由时被调用 } }
ルート ジャンプ ナビゲーションの解析process, when A からルーティングするとき ->B1. A コンポーネントでリーブ ガードを呼び出します。コンポーネント A の beforeRouterLeave
2 は、グローバル beforeEach ガードを呼び出します。 router.beforeEach
3. 次に、ルート B 設定で beforeEnter を実行します。
routes:[ { path:'/b', component:B, beforeEnter:(to,form,next)=>{ ..... } } ]
4. 次に、コンポーネント B のエントリ ガードを実行します。コンポーネント B では、beforeRouterEnter
5 がグローバル beforeResolve ガード (2.5) を呼び出します。 router.beforeResolve
6. ナビゲーションが確認されました。
7. グローバルの afterEach フックを呼び出します。 router.afterEach
8、DOM 更新をトリガーします。
[関連する推奨事項:
vuejs ビデオ チュートリアル以上がVue のナビゲーション フックとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

VUEの関数傍受は、指定された期間内に関数が呼び出され、パフォーマンスの問題を防ぐ回数を制限するために使用される手法です。実装方法は次のとおりです。LodashLibrary:Import {Debounce}から「Lodash」からインポート。 debounce関数を使用して、インターセプト関数を作成します。インターセプト関数を呼び出すと、制御関数は500ミリ秒でせいぜい1回呼び出されます。

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。
