狂神 vue 路由嵌套

路由嵌套

image-20200907232929404

对于组件来说只是对局部的改变

  • 主要流程

    • 创建两个组件
    • 路由注册两个组件
    • 首页通过路径点击事件通过路由找到组件,将组件渲染上去
  • image-20200908084957772

  • List.vue

  • <template>
        <h1>用户列表</h1>
    </template>
    
    <script>
        export default {
            name: "UserList"
        }
    </script>
    
    <style scoped>
    
    </style>
    
  • index.js

  • import Vue from 'vue'
    import Router from 'vue-router'
    import Main from "../views/Main";
    import Login from "../views/Login";
    
    import UserList from "../Views/user/List"
    import UserProfile from "../Views/user/Profile"
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/main',
          component: Main,
          children:[
            {
              path:"/user/profile",
              component:UserProfile
            },{
              path:"/user/list",
              component:UserList
            }
          ]
        },{
          path: '/login',
          component: Login
        }
      ]
    })
    
  • Main.vue

  • <template>
      <el-container style="height: 500px; border: 1px solid #eee">
        <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
          <el-menu :default-openeds="['1', '3']">
            <el-submenu index="1">
              <template slot="title">
                <i class="el-icon-message"></i>用户管理
              </template>
              <el-menu-item-group>
                <el-menu-item index="1-1">
                  <router-link to="/user/profile">个人信息</router-link>
                </el-menu-item>
                <el-menu-item index="1-2">
                  <router-link to="/user/list">用户列表</router-link>
                </el-menu-item>
              </el-menu-item-group>
            </el-submenu>
            <el-submenu index="2">
              <template slot="title">
                <i class="el-icon-menu"></i>内容管理
              </template>
              <el-menu-item-group>
                <el-menu-item index="2-1">分类管理</el-menu-item>
                <el-menu-item index="2-2">内容列表</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>个人信息</el-dropdown-item>
                <el-dropdown-item>退出登录</el-dropdown-item>
              </el-dropdown-menu>
            </el-dropdown>
          </el-header>
    
          <el-main>
            <router-view></router-view>
          </el-main>
        </el-container>
      </el-container>
    </template>
    
    <style>
      .el-header {
        background-color: #b3c0d1;
        color: #333;
        line-height: 60px;
      }
    
      .el-aside {
        color: #333;
      }
    </style>
    
    <script>
      export default {
        data() {
          const item = {
            date: "2016-05-02",
            name: "王小虎",
            address: "上海市普陀区金沙江路 1518 弄"
          };
          return {
            tableData: Array(20).fill(item)
          };
        }
      };
    </script>
    
  • image-20200908085244194

  • 个人信息绑定了/user/profile,就会通过路由找到/main路径下的/user/profile对应的组件

  • <el-menu-item index="1-1">
      <router-link to="/user/profile">个人信息</router-link>
    </el-menu-item>
    
  • {
      path: '/main',
      component: Main,
      children:[
        {
          path:"/user/profile",
          component:UserProfile
        },{
          path:"/user/list",
          component:UserList
        }
      ]
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值