vue router-view のネストされた表示実装

vue router-view のネストされた表示実装

1. ルーティング構成

定数ルート = [
  {
    パス: '/'、
    名前: 'ナビゲーション 1'、
    コンポーネント: ホーム、
    子供たち:[
      {
        パス: '/customer',
        名前: '顧客'、
        // ルートレベルのコード分割
        // これにより、このルート用の別のチャンク (about.[hash].js) が生成されます
        // ルートが訪問されたときに遅延ロードされます。
        コンポーネント: () => import(/* webpackChunkName: "about" */ '../views/Customer.vue')
      },
      {
        パス: '/pageOne',
        名前: 'ページ 1'、
        コンポーネント: PageOne、

      },
      {
        パス: '/pageTwo',
        名前: 'ページ 2'、
        コンポーネント: PageTwo、
    },
    ]
  },
  {
    パス: '/navigation',
    名前: 'ナビゲーション2'、
    コンポーネント: ホーム、
    子供たち:[
      {
        パス: '/pageThree',
        名前: 'ページ3'、
        コンポーネント: PageThree、

      },
      {
        パス: '/pageFour',
        名前: 'ページ4'、
        コンポーネント: PageFour
      },
    ]
  },

2. Vueページのネスト

App.vueは最初に最初のルータービューを設定します

// ハイライトされたブロック
 <ルータービュー></ルータービュー>

Home.vueは2番目のルータービューを設定します

// ハイライトされたブロック
<テンプレート>
  <div>
  <el-container style="height: 500px; border: 1px solid #eee">
    <el-aside width="200px" style="background-color: rgb(238, 241, 246)">

      <el-メニュー>
        <el-submenu v-for="(item,index) in $router.options.routes" :index="index+''">
        <template slot="title"><i class="el-icon-sell"></i>{{item.name}}</template>
          <el-menu-item v-for="(item2,index2) in item.children" :index="index+'-'+index2">{{item2.name}}</el-menu-item>
        </el-サブメニュー>
      </el-menu>
    </el-aside>

    <el-コンテナ>
      <el-header style="text-align: right; font-size: 12px">
        <el-ドロップダウン>
          <i class="el-icon-setting" style="margin-right: 15px"></i>
          <el-dropdown-menu slot="ドロップダウン">
            <el-dropdown-item>表示</el-dropdown-item>
            <el-dropdown-item>新規</el-dropdown-item>
            <el-dropdown-item>削除</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
        <span>王暁湖</span>
      </el-header>

      <メイン>
        <ルータービュー></ルータービュー>

      </el-main>
    </el-コンテナ>

  </el-コンテナ>

</div>
</テンプレート>

<スタイル>
.el-ヘッダー{
  背景色: #B3C0D1;
  色: #333;
  行の高さ: 60px;
}

.el-aside {
  色: #333;
}
</スタイル>

<スクリプト>
エクスポートデフォルト{

};
</スクリプト>

3. ネストされた関係

まず、http://localhost:8181/ にアクセスすると、ネストの最初のレベルに入り、最初のルーター ビューである Home.vue に入ります。次に、pageone にアクセスすると、Home.vue にもアクセスされます。

router-view のネストされた表示はネストされたルーティング パスに関連しているため、ルーティングでは、ナビゲーション 1 のパスの下に、それぞれページ 1 とページ 2 のルーティング パスがあることがわかります。したがって、ページ 1 にアクセスすると、親パスの Home.vue ページに最初にアクセスされます。 router-viewを配置せずにHome.vueページを追加すると、下位レベルのページは表示されません。

これで、vue router-view のネストされた表示の実装に関するこの記事は終了です。vue router-view のネストされた表示に関する関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue router-viewとrouter-linkの実装原理
  • vue update router-viewの再利用コンポーネントの内容が更新されない問題を解決する
  • vue で router-view コンポーネントを使用するチュートリアル
  • Vue2はrouter-viewのデフォルトパスを設定します
  • Vueは、同じページに複数のルータービューを配置する方法を実装しています。
  • vue2.0 ルーティングでルータービューが表示されない問題の解決方法
  • vue-router で router-view がレンダリングされない問題の解決方法
  • vue ルーティング ビュー router-view のネストされたジャンプの実装

<<:  Python で pymysql モジュールを使用して MySQL データベースに接続する

>>:  CentOS7にJDK8をrpmモードでインストールする

推薦する

vscodeを使用してuniappを開発する方法

私はフロントエンド プロジェクトの開発に常に vscode を使用してきたため、現在ではいくつかの小...

Mysql 5.7.17 をインストールした後、MySQL にログインするチュートリアル

mysql-5.7.17 のインストールについては記事の下部で紹介されているので、参考にしてください...

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

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

MySQLの左結合を内部結合に素早く変換するプロセス

日々の最適化プロセス中に、奇妙なことに気付きました。同じ SQL にまったく異なる 2 つの実行プラ...

HTML の基礎必読 - CSS スタイルシートの包括的な理解

CSS (カスケーディング スタイル シート) は、HTML Web ページを美しくするために使用さ...

Web ページのデザインを学ぶときに習得すべきコードは何ですか?

この記事では、Web ページ制作を学ぶ過程で習得すべきテクニックの一部を詳しく紹介します。これらの内...

CSS3 で作成したホバーズーム効果

結果:実装コード: html <link href='https://fonts.go...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

CSS @font-face パフォーマンス最適化の詳細な理解

この記事では主に、フォント読み込みの最適化に関する一般的な戦略を紹介します。内容の大部分は参考資料と...

要素UIテーブルはドロップダウンフィルタリング機能を実現します

この記事の例では、要素UIテーブルにドロップダウンフィルタリングを実装するための具体的なコードを参考...

Mysql5.7.14 Linux版のパスワードを忘れた場合の完璧な解決策

/etc/my.confファイルで、[mysqld]の下に次の行を追加します: skip-grant...

Tomcatがセッションを管理する方法の例

ConcurrentHashMapを学習しましたが、どのように適用すればよいかわかりませんか? To...

Alpine イメージに Ansible サービスを追加する方法

apk add ansible を使用して、alpine イメージに ansible サービスを追加...

MySQL CHARとVARCHARの選択方法

目次VARCHAR 型と CHAR 型結論: VARCHAR 型と CHAR 型VARCHAR と ...

サーバー間のファイル バックアップ ソリューション、サーバー ファイルを別のサーバーに自動的にバックアップする方法は?

多くの組織ではファイル サーバーをバックアップする必要があり、あるサーバーから別のファイル サーバー...