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

推薦する

HTMLフォームタグチュートリアル(1):

フォームは、動的な Web ページを実装するための主要な外部フォームです。フォームとフォーム フィー...

Linux でテキストを表示するためのヒント (非常に実用的!)

序文日常の開発では、サーバー上でさまざまなテキストやログの表示操作を実行する必要があることがよくあり...

Vue のミックスインの使用方法の詳細な説明

目次序文1. Mixin とは何ですか? 2. Mixin はいつ使用すればよいですか? 3. Mi...

HTML の基本 - CSS スタイルシート、スタイル属性、フォーマット、レイアウトの詳細

1.位置:固定一部の Web サイトの右下隅にあるポップアップ ウィンドウなどの、ブラウザーを基準と...

Ubuntu 18.04 に Anaconda3 をインストールするための詳細なチュートリアル

Anaconda は、conda、Python、およびそれらの依存関係など、180 を超える科学パッ...

Vue開発ウェブサイトSEO最適化方法の詳細な説明

ページデータの表示には Vue などの js のデータバインディング機構が使用されるため、クローラー...

MySQLテーブルを削除する方法

MySQL でテーブルを削除するのは非常に簡単ですが、削除コマンドを実行するとすべてのデータが消えて...

MySQL ページングの制限パラメータの簡単な例

Mysqlページングの2つのパラメータ ユーザー制限 1,2 から * を選択 1 は検索する最初の...

CocosCreator システムイベントがどのように生成され、トリガーされるかについての詳細な説明

目次環境まとめモジュール機能関連文書ソースコード分析CCGame.js CCInputManager...

ウェブページの画像最適化ツールと使用方法のヒントの共有

ウェブページの基本要素として、画像はページの読み込み速度に影響を与える重要な要素の 1 つです。画像...

docker ログが取得できない問題の解決方法

毎日サービスをチェックしているときに、portainer からコンテナ ログを確認しようとしたところ...

MySqlは、外部ネットワーク接続クライアントの低速問題を解決するためにskip-name-resolveを使用します。

Tencent Cloud上に構築されたMySQLは、開発用コンピュータでNavicatを使用して...

優れたWebフォームデザイン事例20選

ソフィー・ハルダッククライドキー埠頭 37 東ソープボックス Rxバランス EEハーバー対比 SVN...

MySQL スケジュールバックアップタスクの簡単な分析

導入実稼働環境では、データの損失を回避するために、通常、データベースは定期的にバックアップされます。...

Linux telnetコマンドの使用

1. はじめにtelnet コマンドは、リモート ホストにログインするために使用されます。これは、T...