当前位置: 首页 > news >正文

17.路由配置与页面创建

路由配置与页面创建

官网:https://router.vuejs.org/zh/

Vue Router 和 组合式 API | Vue Router (vuejs.org)

1. 修改index.ts

import { RouteRecordRaw, createRouter, createWebHistory } from "vue-router";
import Layout from '@/layout/Index.vue'const routes: Array<RouteRecordRaw> = [{path: '/home',component: Layout,redirect: '/dashboard',children: [{path: '/dashboard',component: () => import('@/layout/dashboard.vue'),name: 'dashboard',meta: {title: '首页',icon: '#icondashboard'}},{path: "/adminUser",component: () => import('@/views/system/AdminUser.vue'),name: "adminUser",meta: {title: "管理员管理",icon: "UserFilled",roles: ["sys:adminUser"],}},{path: "/userList",component: () => import('@/views/system/UserList.vue'),name: "userList",meta: {title: "用户管理",icon: "Wallet",roles: ["sys:userList"],}},{path: "/menuList",component: () => import('@/views/menu/Index.vue'),name: "menuList",meta: {title: "菜单管理",icon: "Menu",roles: ["sys:menu"],}},{path: "/goodsType",component: () => import('@/views/goods/GoodsType.vue'),name: "goodsType",meta: {title: "商品分类",icon: "UserFilled",roles: ["sys:goodsType"],}},{path: "/unusedList",component: () => import('@/views/goods/UnusedList.vue'),name: "unusedList",meta: {title: "闲置商品",icon: "UserFilled",roles: ["sys:unusedList"],}},{path: "/buyList",component: () => import('@/views/goods/BuyList.vue'),name: "buyList",meta: {title: "求购商品",icon: "Wallet",roles: ["sys:buyList"],}},{path: "/unusedOrder",component: () => import('@/views/order/UnusedOrder.vue'),name: "unusedOrder",meta: {title: "闲置订单",icon: "UserFilled",roles: ["sys:unusedOrder"],}},{path: "/buyOrder",component: () => import('@/views/order/BuyOrder.vue'),name: "buyOrder",meta: {title: "求购订单",icon: "UserFilled",roles: ["sys:buyOrder"],}},// {//     path: "/bannerList",//     component: () => import('@/views/banner/Index.vue'),//     name: "bannerList",//     meta: {//     title: "广告列表",//     icon: "UserFilled",//     roles: ["sys:bannerList"],//     }// },{path: "/report",component: () => import('@/views/report/Index.vue'),name: "report",meta: {title: "投诉管理",icon: "UserFilled",roles: ["sys:report"],}},{path: "/commentList",component: () => import('@/views/comment/CommentList.vue'),name: "commentList",meta: {title: "评论列表",icon: "UserFilled",roles: ["sys:commentList"],}}]}
]const router = createRouter({history: createWebHistory(),routes
})export default router

2. 创建相应页面

在这里插入图片描述

3. 问题

  1. 首页字为灰色
    解决方式:
    在Menu.vue中添加样式

    // 首页颜色
    :deep(.el-menu-item){color:var(--el-border-color) !important;
    }
    
  2. 折叠时鼠标悬浮的字体为灰色
    解决方式:
    在Menu.vue中添加text-color="#fff"<el-menu>标签中

4. 效果图

在这里插入图片描述

在这里插入图片描述

5. 在MenuBar.vue组件的el-menu添加router属性

router是否使用 vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转

(已加)

6. src/layout/Index.vue的<el-main>添加路由<router-view>

<template><el-container class="mycontainer"><el-aside width="230px" class="asside"><Menu></Menu></el-aside><el-container><el-header class="header">Header</el-header><el-main class="mymain"><router-view></router-view></el-main></el-container></el-container>
</template>

7. 设置当前激活的菜单

在Menu.vue中

import { ref,reactive, computed } from 'vue'
import { useRoute,useRouter } from 'vue-router';
import MenuItem from './MenuItem.vue';//获取当前路由
const route = useRoute();
const router = useRouter();//当前激活的导航菜单
const activeIndex = computed(()=>{const {path} = route;return path;
})
    <el-menu:default-active="activeIndex"class="el-menu-vertical-demo":collapse="isCollapse"routerunique-opened@open="handleOpen"@close="handleClose"background-color="#0a2542"text-color="#fff">

效果为刷新保留在此页面

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【vue-8】记事本案例
  • Java进阶工具: BigInteger, BigDecimal, 正则表达式 Arrays 实战指南
  • ai智能机器人让呼叫中心工作更轻松
  • 音视频主要概念
  • 行为型模式-解释器模式
  • css系列:音频播放效果-波纹律动
  • 深度神经网络——什么是深度强化学习?
  • 倾斜摄影优化之重:轻量化
  • Stream
  • C++ 14 之 宏函数
  • 【个人博客搭建】(23)购买服务器、域名、备案
  • Android Uri转File path路径,Kotlin
  • C++中的23种设计模式
  • 立创·天空星开发板-GD32F407VE-Timer
  • 从几个角度分析chatgpt、chatglm、通义千问之间的实际使用差距
  • CAP理论的例子讲解
  • HTML-表单
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript异步流程控制的前世今生
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • nfs客户端进程变D,延伸linux的lock
  • React as a UI Runtime(五、列表)
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • WebSocket使用
  • 复杂数据处理
  • 看域名解析域名安全对SEO的影响
  • 区块链将重新定义世界
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 新书推荐|Windows黑客编程技术详解
  • 优化 Vue 项目编译文件大小
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​力扣解法汇总946-验证栈序列
  • ​用户画像从0到100的构建思路
  • #70结构体案例1(导师,学生,成绩)
  • #LLM入门|Prompt#3.3_存储_Memory
  • #VERDI# 关于如何查看FSM状态机的方法
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (1)常见O(n^2)排序算法解析
  • (Charles)如何抓取手机http的报文
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (二)构建dubbo分布式平台-平台功能导图
  • (简单) HDU 2612 Find a way,BFS。
  • (六)Flink 窗口计算
  • (实战篇)如何缓存数据
  • (转) 深度模型优化性能 调参
  • (转)详解PHP处理密码的几种方式
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET6 命令行启动及发布单个Exe文件
  • .NET轻量级ORM组件Dapper葵花宝典
  • .pyc文件是什么?