5、分类管理页面路由搭建

当我们通过点击相应目录导航加载相应区域的时候,需要创建子组件来完成,同时父组件显示部分需要用<router-view></router-view>占位符来显示相应子组件的内容加载

此父组件的内容部分修改为<router-view></router-view>

 修改后:

运行后发现页面显示vue加载默认界面

那是因为当我们引用router-view的时候,路由配置根路径中默认显示HomeView.vue下的视图内容

 在这里为了美观我们将他删掉,删除的过程需要删除他整个组件 

 删除之后此处引用和导入也需要删掉

此删除过程删不删除其实并不影响,在这里只是为了让大家在删除的过程中体会组件和视图之间的联系

删除之后:

下面完成点击分类管理打开分类管理页面内容的操作

首先要去设置路由

新增一个跳往分类管理页的路由配置

 然后在view文件夹下创建一个分类管理页 CategoryView.vue

 配置完成

接下来实现点击分类管理打开此页面内容的操作

首先我们需要在根组件app.vue下做设置

之前做跳转的时候使用的是<router-link :to="跳转地址"></router-link>,但是element框架有更加便捷的方式

这句话意思就是在el-menu下将:router设置为"true",就可以启用路由模式,启用后el-sub-menu标签中的index属性就相当于router-link中的to,充当于path路由跳转使用 

此时设置分类管理的index

注意:此处index里面的内容是根据自己设置路由时在想跳转的页面下path定义的路径名称,需一致

 设置成功效果:

app.vue文件修改后代码:

<template>
  <el-container class="layout-container-demo">
    <el-aside width="200px">
      <el-scrollbar>
        <div class="mb-2 logo">Vue3+core6 WebAPI</div>
        <el-menu
          :default-openeds="['1', '2']"
          active-text-color="#ffd04b"
          background-color="#303133"
          text-color="#fff"
          :router="true"
        >
          <el-sub-menu index="1">
            <template #title>
              <el-icon>
                <message />
              </el-icon>店铺管理
            </template>
            <el-menu-item-group>
              <el-menu-item index="/">
                <el-icon>
                  <HomeFilled />
                </el-icon>首页
              </el-menu-item>
              <el-menu-item index="/category">
                <el-icon>
                  <Operation />
                </el-icon>分类管理
              </el-menu-item>
              <el-menu-item index="1-3">
                <el-icon>
                  <ShoppingBag />
                </el-icon>商品管理
              </el-menu-item>
            </el-menu-item-group>
          </el-sub-menu>
          <el-sub-menu index="2">
            <template #title>
              <el-icon>
                <Setting />
              </el-icon>系统设置
            </template>
            <el-menu-item-group>
              <el-menu-item index="2-1">
                <el-icon>
                  <Edit />
                </el-icon>修改密码
              </el-menu-item>
            </el-menu-item-group>
          </el-sub-menu>
        </el-menu>
      </el-scrollbar>
    </el-aside>

    <el-container>
      <el-header style="text-align: right; font-size: 12px">
        <div class="toolbar">
          <el-dropdown>
            <el-icon style="margin-right: 8px; margin-top: 1px">
              <setting />
            </el-icon>
            <template #dropdown>
              <el-dropdown-menu>
                <el-dropdown-item>View</el-dropdown-item>
                <el-dropdown-item>Add</el-dropdown-item>
                <el-dropdown-item>Delete</el-dropdown-item>
              </el-dropdown-menu>
            </template>
          </el-dropdown>
          <span>Tom</span>
        </div>
      </el-header>

      <el-main>
        <router-view></router-view>
      </el-main>

      <el-footer>Footer</el-footer>
    </el-container>
  </el-container>
</template>

<script  setup>
</script>

<style scoped>
.logo {
  height: 50px;
  color: white;
  text-align: center;
  line-height: 50px;
  font-weight: bold;
}
/* 设置整体高度 */
.layout-container-demo {
  height: 100vh;
}
.layout-container-demo .el-header {
  position: relative;
  /* background-color: var(--el-color-primary-light-7); */
  background-color: white;
  color: var(--el-text-color-primary);
  box-shadow: var(--el-box-shadow-light);
}
.layout-container-demo .el-aside {
  color: var(--el-text-color-primary);
  /* background: var(--el-color-primary-light-8); */
  background-color: #303133;
}
.layout-container-demo .el-menu {
  border-right: none;
}
.layout-container-demo .el-main {
  padding: 0;
  box-shadow: var(--el-box-shadow-light);
  margin: 10px 0;
}
.layout-container-demo .toolbar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  right: 20px;
}

.el-footer {
  box-shadow: var(--el-box-shadow-light);
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值