Vue 学習 - VueRouter ルーティングの基礎

Vue 学習 - VueRouter ルーティングの基礎

1. Vueルーター

1. 説明

Vue.js + Vue Router を使用してシングルページ アプリケーションを作成するのは自然なことです。Vue.js Vue.js 、コンポーネントを組み合わせてアプリケーションを作成できます。これにVue Routerを追加する場合は、 components routesにマップし、 Vue Router 在それらをレンダリングする場所を指示するだけです。ルートは本質的にハイパーリンクです。

2. 選択したルートのレンダリング:

(1)ルータリンクアクティブクラス

特定の場所にルーティングする場合、対応するルーティング タグにクラス名が追加されます。
たとえば、「About」をクリックすると、「About」に対応するページにジャンプします。

(2)ルータリンクアクティブクラス

ルーティングでは、子ルートのパス設定(例:http://localhost/home)に親ルートのパス設定(例:http://localhost/)が含まれます。その後、子ルートをクリックして、子ルートにrouter-link-activeクラスが追加されると、親ルートにもrouter-link-activeクラスが追加されます。つまり、(http://localhost/home) ルートをクリックすると、両方のルートが選択されます。

3. 基本的な動作原理

vueの html 部分に router-link を導入します (a の原理と同様)。to 属性はジャンプ先の vue コンポーネントであり、 router-view現在のルートが指すコンテンツを表示する役割を担うため、単一ページでもページジャンプの効果を実現できます。

2. 実際の戦闘

1. ルーターを使用してvueプロジェクトを作成する

2. プロジェクト内のsrc/router/index.jsファイルを開きます。

プロジェクトによって 2 つのルートが自動的に生成されたことがわかります。1 つはhomeで、もう 1 つはaboutインターフェイスです。パスはそれぞれ'/''/about'です。

ルートディレクトリのmain.jsを開くと、main.js にルーティングが導入されており、すべてのコンポーネントでルーティングを使用できることがわかります。

3. ブラウザでプロジェクトを開く

HomeAbout 2 つのルート ナビゲーションが表示されます。

4. 新しいルートを作成する

ホームページ、メッセージ、ショッピングカート、そして私の 4 つの部分を含む、Taobao に似たルート ナビゲーションを作成します。

4 つのルートに対応する 4 つの新しい vue ファイルを作成します。

ルーティングindex.jsファイルを構成する

'vue' から Vue をインポートします
'vue-router' から VueRouter をインポートします。
'../views/Home.vue' から Home をインポートします。

Vue.use(VueRouter)

定数ルート = [
  {
    パス: '/'、
    名前: 'ホーム'、
    コンポーネント: ホーム
  },
  {
    パス: '/message',
    名前: 'メッセージ',
    コンポーネント: () => import(/* webpackChunkName: "about" */ '../views/Message.vue')
  },
  {
    パス: '/goodcar',
    名前: 'GoodCar'、
    コンポーネント: () => import(/* webpackChunkName: "about" */ '../views/GoodCar.vue')
  },
  {
    パス: '/me',
    名前: 「私」
    コンポーネント: () => import(/* webpackChunkName: "about" */ '../views/Me.vue')
  }
]

const ルーター = 新しい VueRouter({
  ルート
})

デフォルトルーターをエクスポートする

App.vueでナビゲーションバーを設定する

<テンプレート>
  <div id="アプリ">
    <div id="nav">
      <router-link to="/">ホーム</router-link>
      <router-link to="/message">メッセージ</router-link>
      <router-link to="/goodcar">ショッピングカート</router-link>
      <router-link to="/me">マイ</router-link>
    </div>
    <ルータービュー/>
  </div>
</テンプレート>

<スタイル>
#アプリ {
  フォントファミリー: Avenir、Helvetica、Arial、sans-serif;
  -webkit-font-smoothing: アンチエイリアス;
  -moz-osx-font-smoothing: グレースケール;
  テキスト配置: 中央;
  色: #2c3e50;
}

#ナビ{
  パディング: 30px;
  マージン: 0 自動;
  幅: 30%;
  ディスプレイ: フレックス;
  コンテンツの両端揃え: スペースを空ける;
}

#nav {
  フォントの太さ: 太字;
  色: #2c3e50;
  テキスト装飾: なし;
}

#nav a.router-link-exact-active {
  色: #42b983;
}
</スタイル>

結果:

これで、ルーティングの基本的な概念とその構成および機能が理解できました。

これで、Vue 学習 - VueRouter ルーティングの基本に関するこの記事は終了です。VueRouter ルーティングの基本に関する関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue-router クイックスタート
  • Vue ルーティング vue-router の使用方法の説明
  • Vue.jsルーティングコンポーネントvue-routerの使い方の詳しい説明
  • Vue 学習ノート vue-router のインストールと使用の高度なバージョン
  • vue-router: ネストされたルートの使用方法
  • 10分で始められるVueRouter 4.xチュートリアル

<<:  MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

>>:  暗号化における https の Apache 展開の概要

推薦する

MySQL 5.7.17 zip インストールおよび設定チュートリアル MySQL 起動失敗の解決策

MySQL 5.7.17、現在最新バージョンのようです、ダウンロードアドレスここで、プラットフォーム...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

CSS プロパティ *-gradient の実用的な価値を探る

まず興味深い性質であるconic-gradientを紹介しましょう。円錐グラデーション!円グラフの作...

JavaScript を使って簡単な計算機を書く

効果は以下のとおりです。参考プログラム: <!DOCTYPE html> <htm...

nginxリバースプロキシwebSocket設定の詳細な説明

最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...

ドラッグ位置プレビューを実装するネイティブJS

この記事では、要素をドラッグするときにプレビューを追加する小さなデモを紹介します。効果は次のとおりで...

同じレベルの要素で Position:fixed と margin-top を一緒に使用する場合の CSS の問題

問題の説明CSS を使用して上部の固定効果を実現したいと思います。 margin-top と pos...

grep を使用して MySQL エラー ログ情報を取得する方法の詳細な説明

MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するス...

CSS グリッドレイアウトを使用してレスポンシブな縦棒グラフを作成する方法

私はしばらくの間チャートをいじっていましたが、好奇心から、CSS を使用してチャートを作成するより良...

vue3.0 のウォッチ リスナーの例の詳細な説明

目次序文リスナーと計算プロパティの違いvue3 で watch を使用するにはどうすればいいですか?...

MYSQLでリモートアクセス権限を有効にする方法

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

ドロップダウンメニューを実装するためのネイティブ js

ドロップダウン メニューも実生活では非常に一般的です。実装に使用される js コードは、タブ選択やア...

Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します

Nginx は同じドメイン名で構成されており、http と https の両方でアクセスできます。証...

Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

目次1. 問題の説明2. 原因分析3. 解決策4. 処理1. 問題の説明調整センターでは、最後の 2...

js のマクロタスクとマイクロタスクについての簡単な説明

目次1. JavaScriptについて2. JavaScript イベントループ3. マクロタスクと...