同じページを動的にロードするための Vue ルーティングリスニングの例

同じページを動的にロードするための Vue ルーティングリスニングの例

シナリオ分析

システムでは、1 つのモジュールに 3 つのサブモジュールがあります。ビジネス データでは、3 つのサブモジュールをタイプに応じて直接区別できます。通常は、同じモジュールに書き込み、ビジネス タイプを選択します。ただし、所有者はこれを 3 つのメニューに分割することを要求しています。ユーザーは、ニーズに応じて使用するモジュールを選択できます。

これら 3 つのメニューは同じデータ テーブルを使用します。したがって、リスト、追加、編集ページを 1 つだけ記述する必要があります。次に、ページに入るルートに基づいて、どのカテゴリに属する​​かを判断します。そして、指定されたカテゴリの対応するリスト インターフェイス ページを追加、編集、および呼び出しにジャンプします。

発達

3 つのモジュールは同じページを使用するため、3 つのルートを設定し、ページを区別する必要があります。現在直面している問題は、3 つのメニューのルートは異なりますが、同じページであることです。メニューを切り替えると、Vue のフック関数がトリガーされません。すると、3 つのリスト ページによって照会されるデータは同じになり、照会メソッドがトリガーされず、条件を切り替えることができなくなります。

次に、インターネットで監視時間を検索しました。監視によってルートが変更されたときにリストデータの読み込みメソッドをトリガーできることが分かりました。具体的なコードは次のとおりです。

リストページのルートには、どのページであるかを区別するために、リストの後に 1、2、3 が追加されます。

時計:
    '$route.path': 関数 (newVal, oldVal) {
        // 新しいルーティング パス タイプと古いルーティング パス タイプのパラメーターは、グローバルに定義された 3 種類のメニューです。this.type = newVal.substr(newVal.lastIndexOf("/") + 1);
        this.search();
    }
},


その後、ルートを切り替えると、リスト データを再度取得できます。同時に、create メソッドは search も呼び出す必要があります。ルート監視はこのページでのみ機能するためです。他のページがこのメニューにルートを切り替えてもトリガーされません。

作成された(){
    path を this.$route.path とします。
    this.type = path.substr(path.lastIndexOf("/") + 1);
    this.search();
},

要約する

実際の開発では、ニーズに応じて監視属性を選択できます。

時計:{  
    //ルートの変更を監視する $route( to , from ){   
       console.log( へ、 から )
        // to 、 from はそれぞれジャンプ先を表し、両方ともオブジェクトです // to.path (ジャンプ先のルートのアドレスを表します);
     }
}

上記は、同じページの動的読み込みを実現するための Vue ルーティング リスニングの例の詳細です。同じページの動的読み込みを実現するための Vue ルーティング リスニングの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue がルート変更を監視するときに watch メソッドが複数回実行される理由と解決策
  • VueはルーティングフックインターセプターbeforeEachとafterEachを使用してルーティングを監視します
  • Vueはブラウザのネイティブリターンボタンをリッスンしてルートジャンプ操作を実行します。
  • Vueはルートの変更を監視し、App.vueファイル内のページを更新します。
  • Vueルーティングキャッシュルーティングネストルーティングガードは物理的な戻り操作をリッスンします
  • Vue がルート変更を監視するいくつかの方法の概要

<<:  MySQL データベース監視ソフトウェア lepus の使用上の問題と解決策

>>:  Docker: /etc/default/docker の DOCKER_OPTS パラメータを変更しても反映されない

推薦する

JSはマップを使用してdouble配列を統合します

目次序文データのシミュレーション結合されたデータ合併のアイデアコードの表示と分析最初のステップステッ...

MySQLの重複排除操作を極限まで最適化する方法

目次1. インデックスと変数の賢い使用1. インデックスなしの比較テスト2. created_tim...

IE6では画像要素imgに余分な空白スペースがある

ページの DIV+CSS レイアウトを行う際、IE6 で画像要素 img の下に余分なスペースができ...

Vue 3 カスタムディレクティブ開発の概要

指令とは何ですか? Angular と Vue はどちらもディレクティブの概念を持っており、これは通...

MySQL 5.7 共通データ型

——「MySQL in Simple Terms (第 2 版)」からのメモ数値型整数型バイト最小最...

React仮想リストの実装

目次1. 背景2. バーチャルリストとは何か3. 関連概念の紹介4. 仮想リストの実装4.1 ドライ...

CentOS7 構成 Alibaba Cloud yum ソースメソッドコード

Centos yumフォルダを開くコマンドcd /etc/yum.repos.d/を入力します。 w...

MySQLでデータベースデータ保存ディレクトリを変更する方法

序文MySQL データベースのデフォルトのデータベース ファイルは /var/lib/mysql に...

リクエスト IP の最後のセグメントに基づいてトラフィックを分割するように Nginx を構成する方法

これは主に、場所パラメータのif判断の設定ジャンプです。迂回により、サーバーの負荷と圧力を軽減できま...

React onClickにパラメータを渡す問題について話しましょう

背景下のようなリストでは、削除ボタンをクリックすると削除操作を実行する必要があります。 リスト生成:...

純粋な CSS で「テキストオーバーフローの切り捨てと省略」を実装するいくつかの方法

私たちの日常的な開発作業では、テキストのオーバーフロー、切り捨て、省略は、考慮する必要がある非常に一...

JavaScriptにおけるこのポインティング問題の詳細な説明

序文JS の this ポインターは、初心者にとって常に頭痛の種でした。今日は、これが地面に落ちたと...

要素UIテーブルはドロップダウンフィルタリング機能を実現します

この記事の例では、要素UIテーブルにドロップダウンフィルタリングを実装するための具体的なコードを参考...