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

推薦する

光るテキストとちょっとしたJS特殊効果を実現するCSS

実装のアイデア: CSSでtext-shadowを使用してテキストの光る効果を実現します効果画像: ...

MySQLの不合理なMaxIdleConnsにより接続が短くなる

1 背景最近、Shimo Document のオンライン ビジネスでパフォーマンスの問題が発生しまし...

Linux ipcsコマンドの使用

1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...

MySQLの3つの用途と違いは同等ではない

MySQLでは判定記号がよく使われますが、等しくない記号はもっと一般的に使われます。次の3つの等しく...

JavaScript によるデータ視覚化: ECharts マップの作成

目次概要予防1. 使用方法2. 実装手順予備実装コード効果: Geo共通設定上記の構成を追加した後の...

mysql5.7.17.msi インストール グラフィック チュートリアル

mysql-5.7.17.msiのインストール、スクリーンショットに従ってください、ステップバイステ...

登録ページを実装するためのJS、CSS、HTML

HTML と CSS で実装された登録ページ テンプレート。早速、コードを見てみましょう。更新: ...

Linux インストール MongoDB の起動と一般的な問題の解決

MongoDB のインストール プロセスと問題記録1. MongoDBのインストールMongoDBを...

Linux リモートログイン実装チュートリアル分析

Linux は一般的にサーバーとして使用され、サーバーは一般的にコンピュータルーム内に置かれます。L...

insert と select を組み合わせて、「データベース内のフィールドの最大値 + 1 を挿入する」メソッドを実装する

この記事はmysqlデータベースです質問 1 表 1 のデータを表 2 にインポートします。表 1 ...

Ubuntu 19.04 インストール チュートリアル (画像とテキストの手順)

1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...

JavaScript は setTimeout を使用してカウントダウン効果を実現します

JavaScript ネイティブ コードの記述能力を高め、setTimeout() の使用を強化する...

MySQL SQL ステートメント分析とクエリ最適化の詳細な説明

パフォーマンスの問題のあるSQL文を取得する方法1. ユーザーからのフィードバックを通じてパフォーマ...

仮想マシン VMware に Kali Linux をインストールする最新の超詳細なグラフィック チュートリアル

目次1. システムイメージファイルをダウンロードする2. 新しい仮想マシンを作成する3. Kali ...