同じページを動的にロードするための 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 パラメータを変更しても反映されない

推薦する

MySQLのサブクエリユニオンの効率性についての簡単な説明と

最近の製品テストでは、同時呼び出し数が 10 未満の場合に応答時間が 100 ミリ秒以内に維持できな...

VueコンポーネントライブラリElementUIはテーブルリストのページング効果を実現します

ElementUIはテーブルリストのページング効果のチュートリアルを実装しています。参考までに。具体...

CSS フォーム検証機能の実装コード

レンダリング原理フォーム要素には、正規表現(携帯電話番号、メールアドレス、IDカードなど)をカスタマ...

Docker での Redis のマスタースレーブ構成チュートリアルの詳細説明

1. Redisイメージを取得するdocker pull redis 2. それぞれポート6379、...

Docker バインディング固定 IP/クロスホストコンテナ相互アクセス操作

序文これまでは、パイプワークで割り当てた静的 IP は一時的なものであり、再起動すると無効になってい...

フロントエンドパフォーマンス最適化に関する補足記事

序文私は、Web サイトのフロントエンド パフォーマンス最適化のための JavaScript と C...

ツールベースのウェブサイトの考察: ツールベースのウェブサイトの定義と典型的なケース分析 (写真とテキスト)

ツール型ウェブサイトについて、まず疑問に思うのは、無数のオンラインウェブサイトの中で、どのようなウェ...

nginx で複数の仮想ホストを設定する方法の例

nginx で仮想ホスト vhost を設定すると非常に便利です。 nginx設定ファイルnginx...

JavaScriptコールバック関数の詳細な理解

目次序文クイックレビュー: JavaScript 関数関数とは何ですか?関数を宣言する関数の呼び出し...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

Dockerでイメージをプルするための手順を完了する

1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...

効率化に役立つ 20 の CSS コーディングのヒント (並べ替え)

この記事では、主要な CSS ウェブサイトで推奨されている 20 個の便利なルールとベスト プラクテ...

VueでJSXを使用する方法

JSXとは何かJSX は Javascript の構文拡張であり、JSX = Javascript ...

Vue3+Vue-cli4 プロジェクトで Tencent スライダー検証コードを使用する方法

導入:従来の画像検証コードと比較して、スライダー検証コードには次の利点があります。サーバーは検証コー...