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

推薦する

動的なセカンダリメニューを実現するためのCSS

シンプルなセカンダリメニューを動的に実装するマウスを第 1 レベルのラベル上に置くと、マウスが小さな...

中国における中国語ドメイン名の人気は新たなクライマックスを迎えた

<br />外交部などの中央政府機関、各レベルの地方政府、その他の国家機関や部門が率先し...

Centos6.9 インストール Mysql5.7.18 ステップ記録

インストール手順 rpm -ivh mysql-コミュニティ-共通-5.7.18-1.el7.x86...

HTML 9グリッドレイアウトの実装方法

ウェブサイトのレイアウトの多様化は、当社のフロントエンドの得意分野です。最近、UC ブラウザのデフォ...

単一行関数と文字計算日付プロセス制御を説明する MySQL の例

目次1. キャラクター機能1. ケースコントロール機能2. キャラクターコントロール機能2. 数学関...

HTML の表のフレームとルール属性の詳細な説明

テーブル タグの frame 属性と rules 属性は境界線の表示を制御できます。フレーム プロパ...

503 サービス利用不可エラーの解決方法の説明

1. Webページを開くと503サービス利用不可が表示されますが、更新すると正常にアクセスできます。...

CentOS7 (YUM) での MySQL 5.7 のインストールと設定のチュートリアル

インストール環境: CentOS7 64ビット、MySQL5.7 1. YUMソースを設定するMyS...

Linux sftp コマンドの使用法

SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...

一時ファイルを作成できないために MySQL が起動できない問題を解決する方法

問題の説明最近、仕事中に問題が発生しました。MySQL が起動に失敗しました。エラー ログは次のとお...

MySQL killコマンドの実行原理の詳細な説明

目次キル命令実行原理命令実行特性クエリ実行の強制終了の原則接続終了の実装原則中断される可能性はありま...

Navicateを使用してAlibaba Cloud Server上のMySQLに接続する

1. まず、サーバーの mysql にアクセスして権限を変更します。 GRANT オプション付きで、...

CSS でコンテンツが長すぎる問題を解決する方法の詳細な説明

CSS を記述するときに、デザインに存在する重要なケースを忘れてしまうことがあります。たとえば、コン...

Vue でスロットを使用する方法についての簡単な説明

定義と使用方法:コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、...

MySQL水平および垂直テーブル変換操作の実装方法

この記事では、例を使用して、MySQL の水平テーブルと垂直テーブル間の変換操作を実装する方法を説明...