Vueルーティング相対パスジャンプメソッド

Vueルーティング相対パスジャンプメソッド

Vueルーティング相対パスジャンプ

今日何か書いていたら多層ルーティングに遭遇しました。ルートを飛び越えるときに相対パスが必要になります。そこで公式サイトを確認したところappend属性とrouter.resolveメソッドを使うとあったので具体的な使用方法を記載しました。

1. 属性の追加

append 属性が設定されている場合、ベース パスが現在の (相対) パスの前に追加されます。

タイプ: ブール値

デフォルト値: false

  • たとえば、/eth(ベースパス)から相対パス/eth/block、/eth—>/eth/blockに移動し、ルートはblockに設定されます。
  • append 属性が追加された場合、完全なパスは /eth/block になります。
  • そうでない場合、フルパスは/blockです

現在のルートが/ethの場合、子の/eth/blockにジャンプします

<router-link to="block" を追加> 
 /eth =====> /eth/ブロック  
</ルーターリンク>

現在のルートが/eth/loginの場合、同じレベルの/eth/blockにジャンプします。

<router-link to="../block" を追加>
 /eth/ログイン =====> /eth/ブロック 
</ルーターリンク>

現在のルートが/eth/blockの場合、前のレベル/ethに戻ります。

<router-link to="../" を追加>
 /eth/ブロック =====> /eth 
</ルーターリンク>

2.router.resolveメソッド

router.resolve(場所、現在値、追加値)

戻り値: ルートオブジェクト

  • 解決されたターゲットの場所 (<router-link> の prop と同じ形式)。
  • current は現在のデフォルトルートです (通常は変更する必要はありません)
  • append を使用すると、現在のルートにパスを追加できます (router-link と同様)
エクスポートデフォルト{
  マウント() {
    //リダイレクトするルートオブジェクトを取得する let routeObj = this.$router.resolve({
        パス: '../'
      },
      this.$ルート、
      「追加」
    );
    //ルート オブジェクトを印刷して表示します console.log(routeObj);
    //ルートジャンプ this.$router.push({
      パス: routeObj.route.path、
      query: { //パラメータIDを次のように渡します: this.id 
   }
    });
  }
}

Vue ルーターの動的ルーティングをクリックしてジャンプパスのアドレスを繰り返し追加する

Vue ルーターの動的ルーティングの記述を練習する際に遭遇する問題

複数回クリックすると、アドレスバーに重複が追加され続けます。

ここに画像の説明を挿入

コードを確認したところ、ページ内の相対パスの先頭に「/」が欠けていることがわかりました。これを追加すると正常に表示されます。

次のように:

ここに画像の説明を挿入

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • vue ルーティング ビュー router-view のネストされたジャンプの実装
  • Vue ルーティング this.route.push ジャンプ ページが更新されない場合の解決策
  • Vue のルーティングは履歴操作にカウントされません
  • Vue の同じルートジャンプはルートコンポーネント操作を強制的に更新します
  • Vue でルートをジャンプする方法をご存知ですか?

<<:  MySQL ストアド プロシージャの原理と使用法の詳細な説明

>>:  Win10でIIS10を構成し、ASPプログラムのデバッグをサポートする手順

推薦する

vue3 統合 API における vue2 の $refs の代替方法についての簡単な説明

vue2 プロジェクト開発の経験があれば、$refs に精通しているでしょう。 vue3 の急激なア...

MySQL はエンタープライズレベルのログ管理、バックアップ、リカバリの実践的なチュートリアルを実装します

背景事業が発展するにつれ、会社の事業内容や規模は拡大し続け、ウェブサイトには大量のユーザー情報やデー...

MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介

GitHub にはあらゆる種類の魔法のツールがあります。今日、私はデータベースを操作するためのコマン...

MySQLでJSONフィールドを操作する方法

MySQL 5.7.8 では json フィールドが導入されました。このタイプのフィールドは使用頻度...

サーバーストレステストの概念と方法 (TPS/同時実行性)

目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...

フレックスレイアウトの改行スペースでの align-content の使用

1. この記事で実装した効果図は以下のとおりです。レイアウトの右側に Flex レイアウトを使用し、...

js の Array.forEach でループを終了する方法の例

目次forEach() メソッドjs の Array.forEach のループから抜け出す方法解決:...

2つのボールが交差する粘着効果を実現するCSSサンプルコード

これは純粋に CSS のみを使用して作成されたエフェクトです。簡単に言うと、このエフェクトは画像処理...

SSHパスワードフリーログイン設定方法の詳しい説明(画像とコマンド)

まず、私たちがやりたいことは、serverA の usera を使用して、パスワードなしで serv...

MIME TYPEとは?MIME-Typesタイプコレクション

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...

デザイン理論:人の心を理解する方法

<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...

Vueモバイル端末に最適な適応ソリューションについての簡単な説明

序文: 最近の医療モバイル プロジェクトに基づいて、Vue はさまざまな画面のさまざまな画面サイズに...

問題におけるJS演算子の調査

問題は、誰もが「メモリ リーク」について知っていることです。一般的なシナリオはいくつかあります。クロ...

条件によるMysqlカウントの複数の実装方法を詳細に解説

最近、あるウェブサイトのバックエンドに一連の統計機能を追加していたのですが、条件によるカウントが必要...