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

找个人给我做电影网站好最全微信小程序名单

找个人给我做电影网站好,最全微信小程序名单,深圳上市公司,池州城乡住房建设厅网站1. 创建路由时将路由信息对象进行抽离 将路由信息对象单独抽离到router/routes.ts文件 关键:利用路由元信息meta,定义3个属性 hidden:控制当前路由是否显示在菜单栏中title:菜单拦名称icon:对应菜单名称前面的图标 …

1. 创建路由时将路由信息对象进行抽离

将路由信息对象单独抽离到router/routes.ts文件

关键:利用路由元信息meta,定义3个属性

  1. hidden:控制当前路由是否显示在菜单栏中
  2. title:菜单拦名称
  3. icon:对应菜单名称前面的图标
//对外暴露配置路由(常量路由)
export const constantRout = [{path: '/screen',component: () => import('@/views/screen/index.vue'),name: 'Screen',meta: {hidden: false,title: '数据大屏',icon: 'Platform',},},{path: '/acl',component: () => import('@/layout/index.vue'),name: 'Acl',meta: {hidden: false,title: '权限管理',icon: 'Lock',},children: [{path: '/acl/user',component: () => import('@/views/acl/user/index.vue'),name: 'User',meta: {hidden: false,title: '用户管理',icon: 'User',},},{path: '/acl/role',component: () => import('@/views/acl/role/index.vue'),name: 'Role',meta: {hidden: false,title: '角色管理',icon: 'UserFilled',},},{path: '/acl/permission',component: () => import('@/views/acl/permission/index.vue'),name: 'Permission',meta: {hidden: false,title: '菜单管理',icon: 'Monitor',},},],},
]

router/index.ts文件引入router.ts文件

import { createRouter, createWebHashHistory } from 'vue-router'
import { constantRoute } from './routes'
//创建路由器
const router = createRouter({//路由模式hashhistory: createWebHashHistory(),routes: constantRoute,//滚动行为scrollBehavior() {return {left: 0,top: 0,}},
})
export default router

2. 将路由信息对象挂载到pinia仓库中

将路由信息对象挂载到pinia仓库中,是为了数据共享,供组件使用

//引入路由(常量路由)
import { constantRoute } from '../../router/routes'
const useUserStore = defineStore('User', {state: (): userState => {return {token: GET_TOKEN(),// 存储路由信息用来遍历生成菜单结构menuRoutes: constantRoute, //仓库存储生成菜单需要数组(路由)}},
}

完成将路由信息挂载到pinia仓库中

3. 在组件中通过路由信息对象渲染菜单

Menu是封装的组件,接收父组件传递的userStore.menuRoutes也就是存放在pinia仓库中的路由信息对象

 <!-- 展示菜单区域 --><el-scrollbar class="scrllbar"><el-menu background-color="#001529" text-color="white"><!-- 根据路由动态生成菜单 --><Menu :menuList="userStore.menuRoutes"></Menu></el-menu></el-scrollbar>

在子组件Menu中声明接收:

//通过props接收父组件传递的路由组件信息
defineProps(['menuList'])

Menu组件完整写法:

思路:通过路由信息对象中的children属性判断是否有子路由,如果有子路由,则继续判断子路由的个数,从而进行对应的判断处理

<template><!-- 根据路由来遍历左侧菜单展示信息 --><template v-for="(item, index) in menuList" :key="item.path"><!-- 没有子路由 --><template v-if="!item.children"><el-menu-itemv-if="!item.meta.hidden":index="item.path"@click="goRoute"><template #title><el-icon><component :is="item.meta.icon"></component></el-icon><span>{{ item.meta.title }}</span></template></el-menu-item></template><!-- 有子路由但是只有一个 --><template v-else-if="item.children && item.children.length == 1"><el-menu-itemv-if="!item.children[0].meta.hidden":index="item.children[0].path"@click="goRoute"><template #title><el-icon><component :is="item.children[0].meta.icon"></component></el-icon><span>{{ item.children[0].meta.title }}</span></template></el-menu-item></template><!-- 有子路由且个数大于一个 --><template v-if="item.children && item.children.length > 1"><el-sub-menu :index="item.path"><template #title><el-icon><component :is="item.meta.icon"></component></el-icon><span>{{ item.meta.title }}</span></template><Menu :menuList="item.children"></Menu></el-sub-menu></template></template>
</template><script setup lang="ts">
import { useRouter } from 'vue-router'//通过props接收父组件传递的路由组件信息
defineProps(['menuList'])
let $router = useRouter()
const goRoute = (vc: any) => {//路由跳转$router.push(vc.index)
}
</script>
<script lang="ts">
// 当子路由个数大于等于一个时,并且或许子路由还有后代路由时。
// 这里我们使用了递归组件。递归组件需要命名(另外使用一个script标签,vue2格式)。
export default {name: 'Menu',
}
</script>
<style scoped lang="scss">
</style>

注意:在Menu组件中使用了Menu(递归组件),递归组件需要命名(另外使用一个script标签,vue2格式)。

export default {name: 'Menu',
}

注意:在el-menu-item组件中有一个click方法,对应一个函数,由element提供,会接收一个组件实例参数,并配合useRouter进行路由跳转

const goRoute = (vc: any) => {//路由跳转$router.push(vc.index)
}

http://www.yayakq.cn/news/77890/

相关文章:

  • 网页设计素材为什么拖不进psseo网站关键词优化哪家好
  • 南昌师范学院网站建设的意义和目的网站建设费用计入管理费用的哪个科目
  • 自建网站去除htmlwordpress双首页
  • 百度高级搜索怎么用深圳搜索优化排名公司
  • 装修网站cms标书制作培训课程
  • 网站建设可以一次性进损益吗网站建设需要哪些资料
  • 超酷win8风格企业网站织梦模板青岛网站推广
  • 免费做电子相册的网站定制高端网站建设公司
  • 营销型网站一个多少钱网页设计新建站点
  • 邯郸质量一站式服务平台上线市场调研报告ppt
  • 江苏省建设工程一站式申报网站毕业设计软件开发网站开发
  • 天津网站开发招聘公司网站开发费用计入
  • wordpress 网站生成app云南建设招标网站
  • 自己网站建设基本流程电商网站建设教程
  • 视频多的网站建设做的网站怎么把技术支持去掉
  • 高密哪里做网站好做网络营销策划的目的是
  • 看上去高端的网站如何自己建造网站
  • 石狮网站建设哪家好关键字排名查询工具
  • 唐山市建设网站asp影视网站源码
  • 江苏扬州建设局网站vps运行wordpress
  • 网站制作费用入什么科目陕西省交通建设厅网站
  • 音乐网站建设需求分析网站开发工具的功能包括哪些
  • 专业做网站联系方式wordpress hide
  • 如何建设自己的企业网站全国企业信息信用公示系统
  • 移动端网站排名模板下载网站
  • 设计网站高级感校园招生网站建设的简报
  • 个人网站的备案江门网页设计培训价格
  • 帮开设赌场的网站做美工qq是哪个公司开发
  • 大同网站建设什么网址都能打开的浏览器
  • 天津网站模板建站湖北定制型网站建设