vue.js ルーターのネストされたルート

vue.js ルーターのネストされたルート

序文:

ルートでは、主要部分は同じでも、基礎となる構造が異なることがあります。たとえば、ホームページにアクセスすると、ニュース用の/home/newsと情報用の/home/messageがあります。ここでネストされたルーティングが役立ちます。

プロジェクトの構造は次のとおりです。

Home.vueHomeNews.vueHomeMessage.vueという 3 つのコンポーネントを作成しました。コードは次のとおりです。

ホーム.vue

<テンプレート>
  <div class="home">
    <h1>ホーム</h1>
    <router-link to="/home/news">ニュース</router-link> // ここでフルパスを記述する必要があることに注意してください。/news だけを記述することはできません。/home を追加する必要があります。
    <router-link to="/home/message">情報クラス</router-link>
    <ルータービュー></ルータービュー>
  </div>
</テンプレート>

<スクリプト>

エクスポートデフォルト{
  名前: "ホーム",
};
</スクリプト>

<スタイルスコープ>

</スタイル>

ホームニュース

<テンプレート>
  <div class="homeニュース">
    <ul>
      <li>ニュース 1</li>
      <li>ニュース 2</li>
      <li>ニュース 3</li>
      <li>ニュース4</li>
    </ul>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  名前: 「ホームニュース」
}
</スクリプト>

<スタイルスコープ>

</スタイル>

ホームメッセージ

<テンプレート>
  <div class="homeMessage">
    <ul>
      <li>メッセージ 1</li>
      <li>メッセージ 2</li>
      <li>メッセージ 3</li>
      <li>メッセージ 4</li>
    </ul>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  名前: "HomeMessage"
}
</スクリプト>

<スタイルスコープ>

</スタイル>

コンポーネントが書き込まれたら、 routerフォルダのindex.jsファイルでルートを設定します。

「vue」からVueをインポートします。
「vue-router」から VueRouter をインポートします。

Vue.use(VueRouter);

// ここでもルーティング遅延読み込みを使用します const Home = () => import('../views/Home')
const HomeNews = () => import('../views/HomeNews')
const HomeMessage = () => import('../views/HomeMessage')

定数ルート = [
  {
    パス: "/home",
    名前: "ホーム",
    コンポーネント: ホーム、
    // 子ルートの書き方 children: [
      {
        パス: "ニュース",
        名前: "HomeNews",
        コンポーネント: ホームニュース
      },
      {
        パス: "メッセージ",
        名前: "HomeMessage",
        コンポーネント: HomeMessage
      },
    ]
  },
  {
    パス: ""、
    リダイレクト: "ホーム"
  }
];

const ルーター = 新しい VueRouter({
  ルート、
  モード: '履歴'、
});

デフォルトルーターをエクスポートします。

ネストされたルートの記述は非常に簡単です。 children構成は、 routes構成と同様にルート構成の配列であるため、複数のレイヤーのルートをネストできることがわかります。

この時点で、上記の設定に基づいて、 /home/にアクセスしても、 home出口は何もレンダリングされません。

これは、適切なサブルートが一致しなかったためです。何かをレンダリングしたい場合は、空の子ルートを提供できます。

定数ルート = [
  {
    パス: "/home",
    名前: "ホーム",
    コンポーネント: ホーム、
    子供たち: [
      {
        パス: "ニュース",
        名前: "HomeNews",
        コンポーネント: ホームニュース
      },
      {
        パス: "メッセージ",
        名前: "HomeMessage",
        コンポーネント: HomeMessage
      },
      // 空のサブルートを追加 {
        パス: ""、
        リダイレクト: 「ニュース」
      }
    ]
  },

  {
    パス: ""、
    リダイレクト: "ホーム"
  }
];

こうすることで、デフォルトでnewsページにリダイレクトされ、 news情報が表示されます。

これで、vue.js ルーターのネストされたルーティングに関するこの記事は終了です。vue ネストされたルーティングに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue-router ネストルーティングの詳細な説明
  • Vueルーティングルーターの詳細な説明
  • Vue のルータールーティングの 2 つのモード (ハッシュと履歴) の詳細な説明
  • vue ルーティング ビュー router-view のネストされたジャンプの実装
  • VueRouterルーティングの詳細な説明
  • Vueルータールーティングの詳細な説明

<<:  MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション

>>:  CSS は、モバイル端末でクリックされたときに生成された要素の背景色を削除します (推奨)

推薦する

ウェブ クラスターの Docker Stack 展開方法の手順

Docker はますます成熟し、その機能もますます強力になっています。 Docker Stack を...

HTML ページに画像を挿入し、マップ インデックスを追加する方法の例

1. WEBでサポートされている画像形式: GIF: 256色を保存でき、透明色をサポートし、アニメ...

MySQL ビューの原理と使用法の詳細な分析

序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...

VirtualBox は CentOS7 仮想マシンと拡張ツールをインストールします (画像とテキスト)

コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...

ウェブサイト開発におけるフロントエンド開発者とアーティストの知識の違い

概要: 多くの企業、特にインターネット Web サイトを主な事業とする企業のほとんどが、「アーティス...

ホスト上のDockerコンテナ内でシェルまたはプログラムを実行する

Docker コンテナに繰り返し入って操作することを避けるために、コンテナ内の一連の命令をホストマシ...

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

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

MySQL 5.7のワンクリックインストールとパスワードポリシーの変更方法

1.Mysqlスクリプトのワンクリックインストール [root@uat01 ~]# cat Inst...

Linuxのip netnsコマンドを使用してネットワークポートを分離し、IPアドレスを設定します。

1. 分離マーカーを追加します。 ip netns add fd 2. 指定されたネットワーク カ...

MySQL インデックスの最適化: ページング探索の詳細な紹介

目次MySQL インデックス最適化ページングの調査ケース1ケース2 MySQL インデックス最適化ペ...

dockerプライベート倉庫の構築と利用の詳細説明

1. リポジトリイメージをダウンロードする docker プルレジストリ 2. プライベートウェアハ...

MySQL サーバー IO 100% 分析および最適化ソリューション

序文ストレス テスト中に、リソース使用のボトルネックによって発生する最も直接的なパフォーマンスの問題...

Vue で親コンポーネントから子コンポーネントにデータを渡すいくつかの方法

最近、Vue のソースコードを勉強していて、Vue で親コンポーネントと子コンポーネント間でデータを...

Dockerを使用してPythonランタイム環境の基本イメージを作成する方法

1. 準備1.1 Pythonインストールパッケージをダウンロードします(注:Pythonバージョン...

Linux のさまざまなロックメカニズムの使用方法と違いについて詳しく説明します

序文:この知識を理解する必要がある人は、すでにプロセス間通信とスレッド間通信の基本的な理解を持ってい...