Vue3 ページ、メニュー、ルートの使用

Vue3 ページ、メニュー、ルートの使用

1. メニューをクリックしてジャンプ

1. ページ名の統一

まずページ名を統一して小文字を使用し、 HomeAboutページを小文字に変更してから、 routerindex.ts変更します。

サンプルコードは次のとおりです。

'vue-router' から {createRouter、createWebHistory、RouteRecordRaw} をインポートします。
'../views/home.vue' から Home をインポートします。
'../views/about.vue' から About をインポートします。

const ルート: Array<RouteRecordRaw> = [
  {
    パス: '/'、
    名前: 'ホーム'、
    コンポーネント: ホーム
  },
  {
    パス: '/about',
    名前: 'About'、
    コンポーネント: について
    // ルートレベルのコード分割
    // これにより、このルート用の別のチャンク (about.[hash].js) が生成されます
    //遅延読み込みのため削除しました}
]

const ルーター = createRouter({
  履歴: createWebHistory(process.env.BASE_URL)、
  ルート
})

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

2. 管理ページを追加する

views/adminの下にadmin-ebook.vueというページを作成します。

サンプルコードは次のとおりです。

<テンプレート>
  <div class="about">
    <h1>電子書籍管理ページ</h1>
  </div>
</テンプレート>

3. ルートを追加する

router内のindex.tsコンテンツを再度変更します。

サンプルコードは次のとおりです。

'vue-router' から {createRouter、createWebHistory、RouteRecordRaw} をインポートします。
'../views/home.vue' から Home をインポートします。
'../views/about.vue' から About をインポートします。
'../views/admin/admin-ebook.vue' から AdminEbook をインポートします。

const ルート: Array<RouteRecordRaw> = [
  {
    パス: '/'、
    名前: 'ホーム'、
    コンポーネント: ホーム
  },
  {
    パス: '/about',
    名前: 'About'、
    コンポーネント: について
  },
  {
    パス: '/admin/admin-ebook',
    名前: 'AdminEbook',
    コンポーネント: AdminEbook
  }
]

const ルーター = createRouter({
  履歴: createWebHistory(process.env.BASE_URL)、
  ルート
})

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

4. メニューでルートをバインドする

ヘッダーで変更します。サンプル コードは次のとおりです。

<テンプレート>
    <a-layout-headerクラス="header">
      <div class="logo" />
      <a-メニュー
          テーマ="ダーク"
          モード="水平"
          :style="{ 行の高さ: '64px' }"
      >
        <a-メニュー項目キー="/">
          <router-link to="/">ホーム</router-link>
        </a-メニュー項目>
        <a-menu-item キー="/admin/admin-ebook">
          <router-link to="/admin/admin-ebook">電子書籍管理ページ</router-link>
        </a-メニュー項目>
        <a-メニュー項目キー="3">
          <router-link to="/about">当社について</router-link>
        </a-メニュー項目>
      </a-メニュー>
    </a-レイアウト-ヘッダー>
</テンプレート>

<script lang="ts">
'vue' から {defineComponent} をインポートします。

エクスポートデフォルトdefineComponent({
  名前: 'TheHeader',
});
</スクリプト>

知識ポイント:

以下のようにrouter-linkを使用してリダイレクトします: <router-link to="/"> Home </router-link>

2. 実際の効果

以下のように再コンパイルして起動します。

Vue3 のページ、メニュー、ルートの使い方についてはこれで終了です。Vue3 のページ、メニュー、ルートの使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • vue3 キャッシュページキープアライブと統合ルーティング処理の詳細な説明
  • Vue3.0とBootstrapを組み合わせてマルチページアプリケーションを作成する
  • Vue3.0はドロップダウンメニューのカプセル化を実装します
  • Vue3+TypeScriptは再帰メニューコンポーネントの完全な例を実装します
  • Vue2.x と Vue3.x のルーティングフックの違いの詳細な説明
  • Vue3ルーティングVueRouter4を使用する簡単な例
  • Vue2/vue3 ルーティング権限管理方法の例

<<:  CSSアニメーションを使用して背景のシームレスな無限ループを実装する例

>>:  一般的なMySQLストレージエンジンの長所と短所

推薦する

無効にするとフォームの入力が送信できない問題の解決方法

以前、追加と変更を一緒に記述したテストプログラムを書いたことがあります。変更が必要な場合は、フォーム...

ウェブデザインを改善するための 8 つの CSS ツールを共有する

ウェブサイトのデザインを編集または変更する必要がある場合、CSS が重要な役割を果たします。 CSS...

ES6拡張演算子の理解と使用シナリオ

目次1. 適用メソッドを置き換え、関数を呼び出すときにパラメータを処理する2. 残りパラメータ(残り...

MySQL セレクトキャッシュメカニズムの使用に関する詳細な説明

MySQL クエリ キャッシュはデフォルトでオンになっています。ある程度、クエリの効果は向上しますが...

MySQL 8.0.12 簡単インストールチュートリアル

この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...

チェックボックスの選択またはキャンセルを実装するJavaScript

この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコード...

W3Cチュートリアル(16):その他のW3Cの活動

このセクションでは、その他の重要かつ興味深い W3C アクティビティの概要を説明します。このセクショ...

MySQL 5.7.30 のインストールとアップグレードの問題に関する詳細なチュートリアル

くさびコンピュータにインストールされている MySQL のバージョンが比較的古く、おそらくバージョン...

HTML 代替カラーコードを実現する n 通りの方法 サンプルコード

この記事では、主に HTML のサンプル コードを紹介し、次のように交互に色を変更する方法を共有しま...

スクロール時に選択領域のフォント色を暗くするために CSS を使用するサンプルコード

日付ピッカーをカプセル化する場合、選択時にフォントの色を暗くする必要があります。実装後の効果を見てみ...

自動同期テーブル構造のMySql開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

docker nginxコンテナの起動とローカルへのマウントの詳細な説明

まず、nginx コンテナ内の構造:コンテナを入力します: docker exec -it b511...

CentOS 8が利用可能になりました

CentOS 8 が利用可能になりました! CentOS 8 と RedHat Enterprise...

MySQLのワークベンチ例の詳細な説明

MySQL Workbench - モデリングおよび設計ツール1. モデルは、最も効果的で高性能なデ...

Nginx の realip モジュールの使い方の基礎学習

序文nginx モジュールには、公式とサードパーティの 2 種類があります。nginx のインストー...