Vue-router プログラムナビゲーションの 2 つの実装コード

Vue-router プログラムナビゲーションの 2 つの実装コード

ページをナビゲートする2つの方法

宣言型ナビゲーション: リンクをクリックしてナビゲーションを実現する方法は宣言型ナビゲーションと呼ばれます。たとえば、通常のウェブページの<a></a>リンクや、Vue の<router-link></router-link>などです。
プログラムによるナビゲーション: JavaScript APIを呼び出してナビゲーションを実装する方法をプログラムによるナビゲーションと呼びます。例: 通常のWebページのlocation.href

プログラムナビゲーションの基本的な使用方法

一般的に使用されるプログラム ナビゲーション API は次のとおりです。

this.$router.push ('ハッシュアドレス')

this.$router.go(n)

 定数ユーザー = {  
 		テンプレート: '<div><button @click="goRegister">登録ページへ移動</button></div>',  
  	メソッド: { 
  	 登録: 関数(){   
    // プログラムでルートのリダイレクトを制御する this.$router.push('/register'); 
  } 
  } 
 }

具体的な実装:

<!DOCTYPE html>
<html lang="ja">
 <ヘッド>
 <メタ文字セット="UTF-8" />
 <meta name="viewport" content="width=デバイス幅、初期スケール=1.0" />
 <meta http-equiv="X-UA-compatible" content="ie=edge" />
 <title>ドキュメント</title>
 <!-- vue ファイルをインポート-->
 <!-- <script src="./lib/vue_2.5.22.js"></script> -->
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 <!-- <script src="./lib/vue-router_3.0.2.js"></script> -->
 <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
 </head>
 <本文>
 <!-- VM インスタンスによって制御される領域 -->
 <div id="アプリ">
  <router-link to="/user/1">ユーザー1</router-link>
  <router-link to="/user/2">ユーザー2</router-link>
  <router-link :to="{ name: 'user', params: {id: 3} }">User3</router-link>
  <router-link to="/register">登録</router-link>

  <!-- ルートプレースホルダー -->
  <ルータービュー></ルータービュー>
 </div>

 <スクリプト>
  定数ユーザー = {
  プロパティ: ['id', 'uname', 'age'],
  テンプレート: `<div>
   <h1>ユーザー コンポーネント -- ユーザー ID: {{id}} -- 名前: {{uname}} -- 年齢: {{age}}</h1>
   <button @click="goRegister">登録ページへ移動</button>
  </div>`,
  メソッド: {
   登録() {
   this.$router.push('/register') //プログラムによるナビゲーション}
  },
  }

  const レジスタ = {
  テンプレート: `<div>
   <h1>コンポーネントを登録する</h1>
   <button @click="goBack">戻る</button>
  </div>`,
  メソッド: {
   戻る() {
   これ.$router.go(-1)
   }
  }
  }

  // ルーティングインスタンスオブジェクトを作成する const router = new VueRouter({
  // すべてのルーティングルール ルート: [
   { パス: '/'、リダイレクト: '/user' },
   {
   // 名前付きルート名: 'user',
   パス: '/user/:id',
   コンポーネント: ユーザー、
   プロパティ: ルート => ({ uname: 'zs', age: 20, id: route.params.id })
   },
   { パス: '/register'、コンポーネント: Register }
  ]
  })

  // vmインスタンスオブジェクトを作成する const vm = new Vue({
  //制御領域を指定します el: '#app',
  データ: {}、
  //ルータインスタンスオブジェクトをマウントします// router: router
  ルーター
  })
 </スクリプト>
 </本文>
</html>

router.push() メソッドのパラメータルール

 // 文字列 (パス名) 
router.push('/home') 
// オブジェクト router.push({ path: '/home' }) 
// 名前付きルート(パラメータを渡す) 
router.push({ name: '/user', params: { userId: 123 }}) 
// クエリパラメータを使用すると、/register?uname=lisi になります。 
router.push({ パス: '/register', クエリ: { uname: 'lisi' }})

Vue-router プログラムナビゲーションの実装コードに関するこの記事はこれで終わりです。Vue-router プログラムナビゲーションの関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueルーターはパラメータを渡し、ページを更新するときにパラメータが失われる問題を解決します
  • Vue-routerルーティングの使い方
  • Vue-router ルーティングの遅延読み込みとそれを実装する 3 つの方法
  • vue-router を遅延ロードする 3 つの方法のまとめ
  • Vue-routerのハッシュモードと履歴モードの違いの詳細な説明
  • vue-routerはメタ情報メタ操作を定義します
  • Vue ルーターのインストールと使用状況の分析
  • vue3.0+vue-router+element-plusの初期練習
  • Vue ルーターにパラメータを渡すときにページを更新するとパラメータが失われる問題に対処する方法

<<:  Windows10にmysql5.7.18をインストールするチュートリアル

>>:  Linux で大きなファイルの内容を消去または削除する 5 つの方法

推薦する

VueはSplitを使用して、ユニバーサルドラッグアンドスライドパーティションパネルコンポーネントをカプセル化します。

目次序文始める基本レイアウトデータバインディングイベントバインディング最適化ジッター問題を最適化する...

MySQL 文字列分割の例 (区切り文字なしの文字列抽出)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

組み込み移植 docker エラー問題 (概要)

長い移植と情報検索の期間を経て、組み込みDockerの問題を解決することができました。インターネット...

Vueはランニングライトのシンプルな効果を実現

この記事では、マーキーのシンプルな効果を実現するためのVueの具体的なコードを参考までに共有します。...

React setStateデータ更新メカニズムの詳細な説明

目次setStateを使用する理由setStateの使用法非同期または同期更新要約するsetStat...

VMware vSphere 6.5 インストール チュートリアル (画像とテキスト)

vmware vSphere 6.5 は vSphere ソフトウェアのクラシック バージョンであ...

Vueタイムラインコンポーネントの使い方

この記事の例では、参考までにvueタイムラインコンポーネントの具体的な実装コードを共有しています。具...

レスポンシブ Web デザインが価値のない 5 つの理由

この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...

CentOS で RPM を使用して MySQL 5.6 をインストールするチュートリアル

これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...

Node.js における非同期プログラミングの知識ポイントの詳細な説明

導入JavaScript はデフォルトでシングルスレッドであるため、コードは並列実行するための新しい...

WeChatアプレットリクエストの前処理方法の詳細な説明

質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...

タブバーのいくつかの実装方法(推奨)

タブ: カテゴリ + 説明タグバー: カテゴリ => ユーザーに現在地と目的地を知らせる1. ...

Mysqlのマージ結果と水平スプライシングフィールドの実装手順

序文最近、レポート機能に取り組んでいたのですが、ある月に各部署に入社した人と退職した人の数をカウント...

Vueは指定された日付間のカウントダウンを実装します

この記事では、指定された日付間のカウントダウンを実装するためのVueの具体的なコードを例として紹介し...

vue+canvasでタイムラインを描く方法

この記事では、参考までにvueキャンバスのタイムライン描画の具体的なコードを紹介します。具体的な内容...