1. ホーム
  2. Web プログラミング
  3. ジャバスクリプト
  4. javascriptのクラスライブラリ

Vueでルートネスティングを実装する例

2022-01-13 15:30:06

1、ネストされたルートは、サブルートとも呼ばれ、実際には、通常、複数のネストされたコンポーネントの組み合わせによって、ネストされます。(実際には単なる入れ子操作で、バックエンドのビュージャンピングパスにかなり似ている)。

2. ユーザー情報コンポーネントを作成するために、Profile.vueという名前のビューコンポーネントをviews/userディレクトリに作成します。

プロファイル.vue

<template>
  <h1>salted_fish_turned_over1</h1>
</template>
<script>
  export default {
    name: "UserList"
  }
</script>
<style scoped>
</style>


<スパン 3. ユーザーリストコンポーネント用に、List.vueという名前のビューコンポーネントをviews/userディレクトリに作成します。

List.vue

<template>
  <h1>salted_fish_turned_over2</h1>
</template>
<script>
  export default {
    name: "UserList"
  }
</script>
<style scoped>
</style>


<スパン 4. ホームビューを変更するために、ElementUIレイアウトコンテナコンポーネントが使用されているMain.vueビューコンポーネントを、以下のコードで修正します。

メイン.vue

<template>
    <div>
      <el-container>
        <el-aside width="200px">
          <el-menu :default-openeds="['1']">
            <el-submenu index="1">
              <template slot="title"><i class="el-icon-caret-right"></i>user-management</template>
              <el-menu-item-group>
                <el-menu-item index="1-1">
                <! --where inserted-->
                  <router-link to="/user/profile">personal-information</router-link>
                </el-menu-item>
                <el-menu-item index="1-2">
                <! --where to insert-->
                  <router-link to="/user/list">user-list</router-link>
                </el-menu-item>
              </el-menu-item-group>
            </el-submenu>
            <el-submenu index="2">
              <template slot="title"><i class="el-icon-caret-right"></i>content-management</template>
              <el-menu-item-group>
                <el-menu-item index="2-1">Category management</el-menu-item>
                <el-menu-item index="2-2">Content list</el-menu-item>
              </el-menu-item-group>
            </el-submenu>
          </el-menu>
        </el-aside>

        <el-container>
          <el-header style="text-align: right; font-size: 12px">
            <el-dropdown>
              <i class="el-icon-setting" style="margin-right: 15px"></i>
              <el-dropdown-menu slot="dropdown">
                <el-dropdown-item>Identity</el-dropdown-item>
                <el-dropdown-item>Logout</el-dropdown-item>
              </el-dropdown-menu>
            </el-dropdown>
          </el-header>
          <el-main>
          <! --Show view here -->
            <router-view />
          </el-main>
        </el-container>
      </el-container>
    </div>
</template>
<script>
    export default {
        name: "Main"
    }
</script>
<style scoped lang="scss">
  .el-header {
    background-color: #B3C0D1;
    color: #333;
    line-height: 60px;
  }
  .el-aside {
    color: #333;
  }
</style>


5、ネストされたルートを設定する ルーターディレクトリのindex.jsルーティング設定ファイルを変更し、以下のコードでメインに子供を使用してサブモジュールを書き込みます。

index.js

//import vue
import Vue from 'vue';
import VueRouter from 'vue-router';
//import components
import Main from ". /views/Main";
import Login from ". /views/Login";
//import submodules
import UserList from "... /views/user/List";
import UserProfile from ". /views/user/Profile";

//use
Vue.use(VueRouter);
//export
export default new VueRouter({
  routes: [
    {
      //login page
      path: '/main',
      component: Main,
      // Write to submodule
      children: [
        {
          path: '/user/profile',
          component: UserProfile,
        }, {
          path: '/user/list',
          component: UserList,
        },
      }
    },
    //Home
    {
      path: '/login',
      component: Login

    },
  ]
})


<スパン 6. 結果を実行します。

7. プロジェクトの構成は

8. という機能を追加した場合はどうでしょうか?

このコードをMain.vueに追加するだけです。

          <el-submenu index="3">
            <template slot="title"><i class="el-icon-caret-right"></i>salty_turn_over_management</template>
            <el-menu-item-group>
              <el-menu-item index="3-1">salty_flip_4</el-menu-item>
              <el-menu-item index="3-2">salted_fish_turned_over_5</el-menu-item>
            </el-menu-item-group>
          </el-submenu>


概要

Vueのルートネスティングに関する記事は以上です。Vueのルートネスティングに関する詳細については、Script Houseの過去の記事を検索するか、以下の記事を引き続きご覧ください。