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

推薦する

MySQLのUPDATE文の落とし穴を記録する

背景最近、オンライン操作中に DML ステートメントを実行しました。これは絶対確実だと思っていました...

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

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

DockerでLNMPアーキテクチャを展開する方法

環境要件: IPホスト名192.168.1.1ノード1プロジェクト計画:コンテナネットワークセグメン...

リモート Linux システムでポートが開いているかどうかを確認する 3 つの方法

これは、Linux 管理者だけでなく、私たち全員にとって非常に重要なトピックです。つまり、IT イン...

ウェブページで CSS スタイルを適用するさまざまな形式の概要

1. インライン スタイル (<body></body> 内に配置されます)...

MySQL 5.7.15 バージョンのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQLバージョン5.7のインストール方法と使用方法、およびデータベースデータの保存...

vscodeでnpmを使用してbabelをインストールする方法

序文前回の記事ではNode.jsのインストールと設定を紹介しました。今回はVScodeでbableを...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

JS の new 関数の詳細な説明

目次1. 例2. 兵士100人を作成する3. 質問4. 改善点5. エレガント? 6. JSの父から...

HTMLでキーワードを強調表示するのに最適なソリューション

最近、プロジェクトに取り組んでいるときに、Web ページ上のキーワードを強調表示する機能に遭遇しまし...

mysqlは複数の主キーを設定する操作を実装します

ユーザーテーブル、ID番号は一意である必要があります、携帯電話番号、電子メールアドレスは一意である必...

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

MySQL テーブルにおける非主キー列オーバーフロー監視の詳細な説明

今日もまた罠に落ちてしまいました。 私は以前MySQLの主キーオーバーフローに遭遇したことがあり、そ...

JavaScript でシンプルなクリスマス ゲームを実装する

目次序文成果を達成するコードCSSコードJSコードHTMLコードデモンストレーションのプロセス序文ク...

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...