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

推薦する

yum を使用して rpm と関連する依存関係をダウンロードして、docker をオフラインでインストールします。

yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...

MySQL 5.7.17 のインストールと設定のグラフィックチュートリアル

ブロガーはこう述べています。「私は『史上最も簡単な MySQL チュートリアル』という一連のブログ記...

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

mysql 解凍パッケージの基本インストールチュートリアル

新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...

JavaScript の onblur および onfocus イベントの詳細な説明

HTML ページでは、ボタンやテキスト ボックスなどの視覚要素にフォーカスを設定したり、フォーカスを...

Linux でユーザーを完全に削除する 2 つの方法

Linux 操作実験環境: Centos7 仮想マシンまず、共通ユーザーgubeiqingを作成しま...

CentOS 7 での Docker プロキシの設定 (Linux での Systemd サービスの環境変数設定)

Docker デーモンは、 HTTP_PROXY 、 HTTPS_PROXY 、およびNO_PRO...

js はマウスインとマウスアウトによるカード切り替えコンテンツを実装します

この記事では、マウスでカード内外のコンテンツを切り替えるためのjsの具体的なコードを紹介します。具体...

HTML、CSS、RSSフィードが正しいかどうかを確認する無料ツール

この種のエラーに対処するための 1 つの方法は、まずマークアップとスタイルシートを検証することです。...

CSS Houdini でダイナミックな波効果を実現

CSS Houdini は、CSS 分野における最もエキサイティングなイノベーションとして知られてい...

VUEはFlappy Birdゲームのサンプルコードを実装します

Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...

標準のMySQL (x64) Windowsバージョンのインストール手順の詳細な説明

MySQL x64 はインストーラーを提供していません、インストーラーを提供していません、インストー...

Vue-routerルーティングの使い方

目次1. 説明2. インストール3. テスト1. 説明Vue Router は、Vue.js の公式...

初心者向けMySQLインデックス

序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...

XHTML+CSS Web ページ作成における美しいスタイルシートの適用

これはかなり前に書かれた記事です。今となっては、その中の考え方は学ぶ価値があるように思えます。jb5...