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プログラムのデバッグをサポートする手順

推薦する

HTML 文法百科事典_HTML 言語文法百科事典 (必読)

ボリュームラベル、プロパティ名、説明002 <! - - ... - -> コメント00...

CSS3実践手法のまとめ(推奨)

1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....

Vueプロジェクトでvuexを使用する方法

目次Vuex とは何ですか? Vuex 使用サイクル図私のストアディレクトリvuexの例の実装要約す...

iframe パラメータの説明と例

<iframe src=”test.jsp” width=”100″ height=”50″ ...

json.stringify() と json.parse() の違いと使い方

1. JSON.stringify() と JSON.parse() の違い私たちは皆、JSON.s...

JavaScript の new 演算子の原理と例の詳細な説明

新しい用途new の機能は、コンストラクターを通じてインスタンス オブジェクトを作成することです。イ...

5つのCSSスクロール天井実装方法の比較(パフォーマンス向上版)

改訂版のプレビューこの記事は 3 日前に書かれたものです。先輩の同僚から改訂の提案をいくつかいただき...

テーブルの追加と削除の操作を実装する js

この記事の例では、テーブルを追加および削除するためのjsの具体的なコードを参考までに共有しています。...

Vueカスタム指示により、ポップアップウィンドウのドラッグ4辺ストレッチと対角ストレッチ効果を実現

導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...

MySQL で lower_case_table_names を記録する際の落とし穴の詳細な説明

1 原因プロジェクトがデータベースを移行して再起動した後、「T_AAAテーブルが存在しません」という...

Nginx で WordPress を設定する方法

以前、私は自分で WordPress を構築していましたが、当時はサードパーティの仮想ホストを使用し...

MySQL テーブルがロックされているかどうかを照会する方法

具体的な方法: (推奨チュートリアル:MySQLデータベース学習チュートリアル)テーブルロックの状態...

標準SQL更新ステートメントの3つの用途についての簡単な理解

1. 環境: MySQL-5.0.41-win32 Windows XP プロフェッショナル2. テ...

nginx のバージョン番号と WEB サーバー情報を隠すための解決策

Nginxはバージョン情報を隠すだけでなく、カスタムWebサーバー情報もサポートします。まずは最終的...

Squid を使用して http および https 用のプロキシ サーバーを構築する方法

nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...