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 つの方法

推薦する

CentOS 7 ブートカーネルの切り替えとブートモードの切り替えの説明

Centos7 スイッチブートカーネル注: 必要に応じて、最初にyum update -yを実行して...

CSSにおけるマージン値と垂直マージンの重なりについて

平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...

Linux 7.7 でスワップ パーティション SWAP を設定する方法

Linux システムの Swap パーティション、つまり swap パーティションは、一般に仮想メモ...

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...

バランスの取れたデジタルスクロール効果を実現するJavaScript

目次1. 実施の背景2. 実装のアイデア3. 実施プロセス1. 実施の背景先週、ユーザーがタスクを完...

MySQL は SQL ステートメントの最新のレコードをクエリします (最適化)

最悪の選択肢は、結果を時間順に並べ替えて最初のものを取ることです。 *から選択 ここで、create...

VMware Workstation 仮想マシンのインストール操作方法

仮想マシンは非常に便利なテストソフトウェアです。ハードウェアに損傷を与えることなく、さまざまなテスト...

Vueは宮殿のグリッド回転抽選を実現します

Vueは宮殿グリッド回転抽選(CrossFireのxx転生に似ている)を実装しています。参考までに、...

Vue nextTickの原理の分析

目次イベントループmiscroTask (マイクロタスク) UI レンダリング (重要なポイント)次...

TypeScript 名前空間のマージの説明

目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...

MySQLテーブルのフィールドと関連属性をエクスポートする手順

データベース内のテーブルのフィールドとプロパティをエクスポートし、テーブルを作成してWordに保存す...

CenterOS7 インストールおよび構成環境 jdk1.8 チュートリアル

1. まずcenterosに付属のJDKをアンインストールします rpm-qa|grepopenjd...

etcd クラスターをデプロイするための docker-compose の実装手順

目次docker-compose.ymlを書くdocker-composeを実行するビルドステータス...

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...