公式文書には次のように記されている。 ルーターを挿入することで、どのコンポーネントでも this.$router を通じてルーターにアクセスでき、また this.$route を通じて現在のルートにアクセスすることもできます。 それは次のように理解できます。 this.$router は、多くのプロパティとオブジェクト (履歴オブジェクトなど) を含むグローバル ルーター オブジェクトと同等です。どのページでも、push()、replace()、go() などのメソッドを呼び出すことができます。 this.$route は現在のルート オブジェクトを表します。各ルートにはルート オブジェクトがあり、これは対応する名前、パス、パラメータ、クエリ、その他の属性を取得できるローカル オブジェクトです。 push() メソッドについて: 別の URL に移動するには、router.push メソッドを使用します。このメソッドは履歴スタックに新しいレコードを追加するため、ユーザーがブラウザの戻るボタンをクリックすると、前の URL に戻ります。 <router-link> をクリックすると、このメソッドが内部的に呼び出されるため、<router-link :to="..."> をクリックすると router.push(...) を呼び出すのと同じになります。 push() メソッド呼び出し: // 文字列 this.$router.push('home') //オブジェクト this.$router.push({path:'home'}) //名前付きルート this.$router.push({name:'user', params:{userId: '123'}}) //クエリパラメータを使用すると、/register?plan=private になります。 this.$router.push({path:'register', query:{plan:private}}) 注: パスが指定されている場合、パラメータは無視されますが、上記の例のクエリの場合はそうではありません。代わりに、ルート名を指定するか、次の例に示すようにパラメータ付きの完全パスを記述する必要があります。 定数ユーザーID = '123'; this.$router.push({path:`/user/${userId}`}); //->/user/123 this.$router.push({name:'user', params:{userId}}); //->/user/123 //ここでのパラメータは無効です this.$router.push({path:'/user', params:{userId}}); //->/user 同じルールが router-link コンポーネントの to プロパティにも適用されます。 要約: params はパラメータを渡すために使用されます。push では、params はルートを導入するために name のみを使用できるため、path:'/xxx' ではなく name:'xxx' のみを使用できます。ここで path が記述されている場合、パラメータを受け取るページは未定義になります。 ルーティングパラメータの受け渡し方法: 1. 完全なパスを手書きします。 this.$router.push({path: `/user/${userId}`}); パラメータを取得: this.$route.params.userId 2. パラメータを渡します: this.$router.push({name:'user', params:{userId: '123'}}); パラメータを取得: this.$route.params.userId URL 形式: パラメータなしの URL、http:localhost:8080/#/user 3. クエリを使用して以下を渡します。 this.$router.push({path:'/user', query:{userId: '123'}}); パラメータを取得: this.$route.query.userId URL 形式: パラメータ付き URL、http:localhost:8080/#/user?userId=123 簡単に言うと、query は get リクエストに相当し、ページがジャンプしたときにアドレスバーにリクエストパラメータが表示されます。params は post リクエストに相当し、パラメータはアドレスバーに表示されません。 / で始まるネストされたパスはルート パスとして扱われることに注意してください。 これにより、ネストされたパスを設定しなくても、ネストされたコンポーネントを活用できるようになります。 要約する これで、Vue の this.$router と this.$route の違いと push() メソッドについての説明は終了です。Vue の this.$router と this.$route の違いについてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linuxはscpコマンドを使用してファイルをローカルコンピュータにコピーし、ローカルファイルをリモートサーバーにコピーします。
>>: mysql8.0.0 winx64.zip 解凍バージョンのインストールと設定のチュートリアル
目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...
会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...
MySQLにおける静的変数の役割の詳細な説明静的変数の使用 静的変数サンプルコード: 関数テスト()...
幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...
まず、仮想マシンを開きます xshell5 を開いて仮想マシンに接続します (より便利です。Linu...
1. データ整合性の概要1. データ整合性の概要データの冗長性とは、データベース内に重複したデータが...
シナリオ:クロールされたデータは、別のメインテーブルと同じ構造を持つデータテーブルを生成するため、マ...
目次【機能背景】 [生のSQL] 【独自SQL解析】 【分析手順】 [最適化されたSQL] 【最適化...
場合によっては、MySQL が公式に提供しているテスト ライブラリに基づいてテスト データを作成し、...
1 インストールMYSQL 公式サイトから対応する解凍バージョンをダウンロードし、必要なディレクトリ...
目次成果を達成する完全なコード + 詳細なコメントまとめ成果を達成する完全なコード + 詳細なコメン...
1. 改行を強制せず、省略記号で終了します。コードをコピーコードは次のとおりです。 <div ...
目次シーン紹介深い応答性トリガーゲッターDep.targetを探すゲッターセッター要約するシーン紹介...
nginx の設定命令のスコープは、main、server、location の 3 種類に分けられ...
1.これは1. 誰が誰に電話をかけますか?例: 関数foo(){ console.log(&quo...