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

vue一级、二级路由设计

一、一级路由设计

一级路由是指直接映射到应用程序中顶级页面或组件的路由。这些路由通常定义在Vue Router的配置中,作为应用程序导航结构的基础。

  1. 直接映射:一级路由直接映射到URL路径和Vue组件,没有嵌套关系。
  2. 顶级导航:它们通常用于应用程序的顶级导航,如首页、关于页面、用户中心等。
  3. 配置简单:在Vue Router的配置文件中,一级路由的配置相对简单,只需指定路径和组件即可。

比如我们有两个页面,一个是登录页面,一个是布局页面,都是顶级导航,那么这个时候我们就需要一级路由设计

为了加以区分,我们现在两个页面上输入点字

布局页面:

<script setup></script>
<template><div>我的布局页面</div>
</template>
<style scope></style>

登录页面:

<script setup></script>
<template><div>我的登录页面</div>
</template>
<style scope></style>

现在我们就需要配置他们的路由

首先我们需要找到src下的router下的index文件,这个文件是用来配置路由的

import { createRouter, createWebHistory } from 'vue-router'
import Layout from '@/views/Layout/index.vue'//布局页面
import Login from '@/views/Login/index.vue'//登录页面const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path:'/',component:Layout,},{path:'/login',component:Login}]
})export default router

然后我们需要导入那两个页面,然后就需要在routes数组配置页面的路由path代表路径,如果是一个/代表是根目录,component是导入时起的名字。两个页面之间用逗号分隔。如果还有其他顶级导航页面,也可以继续逗号分隔添加

最后我们在出口页面默认是App.vue文件,导入工具import { RouterLink, RouterView } from 'vue-router',RouterView是以视图显示,RouterLink是以链接显示,元素部分加上标签<RouterView/>或<RouterLink/>是加载配置路由的


二、二级路由设计

二级路由(也称为嵌套路由)是指在一个路由(父路由)内部再定义一组路由(子路由)。这种路由结构允许我们在页面上实现更复杂的层级关系,使得页面布局和组织更加灵活和清晰。

  1. 层级结构:二级路由具有明确的层级关系,父路由是子路由的容器。
  2. 共享路径:子路由的路径是相对于父路由的路径而言的,它们会共享父路由的路径前缀。
  3. 独立组件:每个二级路由都对应一个独立的Vue组件,用于渲染该路由下的页面内容。

比如我们有好多页面的布局是一样的,但是内容不一样,或者大布局中的小布局不一样时,我们就可以利用二级路由实现这一特点。我们可以将布局一样的页面组件都作为布局页面的子路由。

同样为了加以区分,我们在两个文件中也加入区分的文字,代码我不在赘述。

只需要在父路由中加入children即可:

import { createRouter, createWebHistory } from 'vue-router'
import Layout from '@/views/Layout/index.vue'
import Login from '@/views/Login/index.vue'
import Home from '@/views/home/index.vue'
import Exams from '@/views/exams/index.vue'
const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path:'/',component:Layout,children:[{path:'',component:Home},{path:'/exams',component:Exams}]},{path:'/login',component:Login}]
})export default router

同样需要先导入组件,上述代码导入的是home的index组件和exams的index组件。因为我们需要作为布局页面的子路由,所以在布局页面配置中加入children,path为空字符串代表默认显示这个组件内容

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 多态的使用和原理(c++详解)
  • 【第十二周】李宏毅机器学习笔记10:生成式对抗网络2
  • Mysql梳理9——多表查询连接分类及实现内、外连接
  • 探讨基于AI技术的相亲交友系统设计与实现
  • 得物App荣获新奖项,科技创新助力高质量发展
  • ArcGIS10.2/10.6安装包下载与安装(附详细安装步骤)
  • 深度学习——pytorch来实现延迟初始化
  • C++——给出年、月、日,计算该日是该年的第几天。(提示:要判断是否为闰年)
  • camtasia2024绿色免费安装包win+mac下载含2024最新激活密钥
  • C:内存函数
  • JVM-类加载器的双亲委派模型详解
  • 在C#中使用NPOI将表格中的数据导入excel中
  • 信息安全数学基础(15)欧拉定理
  • 第二十九章 添加数字签名 - 指定 KeyInfo 的规范化方法
  • 【Kubernetes】常见面试题汇总(二十七)
  • 【个人向】《HTTP图解》阅后小结
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Cookie 在前端中的实践
  • CSS盒模型深入
  • Cumulo 的 ClojureScript 模块已经成型
  • C语言笔记(第一章:C语言编程)
  • ECS应用管理最佳实践
  • leetcode388. Longest Absolute File Path
  • Meteor的表单提交:Form
  • mongo索引构建
  • text-decoration与color属性
  • Vue官网教程学习过程中值得记录的一些事情
  • 从零搭建Koa2 Server
  • 从零开始学习部署
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 力扣(LeetCode)56
  • 小而合理的前端理论:rscss和rsjs
  • 智能合约开发环境搭建及Hello World合约
  • const的用法,特别是用在函数前面与后面的区别
  • ​ssh免密码登录设置及问题总结
  • #include
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #每天一道面试题# 什么是MySQL的回表查询
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (6)添加vue-cookie
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (回溯) LeetCode 131. 分割回文串
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (自用)仿写程序
  • ***详解账号泄露:全球约1亿用户已泄露
  • .net core控制台应用程序初识
  • .Net IE10 _doPostBack 未定义
  • .net 连接达梦数据库开发环境部署
  • .Net的DataSet直接与SQL2005交互
  • .NET开源快速、强大、免费的电子表格组件
  • .NET开源项目介绍及资源推荐:数据持久层
  • /etc/motd and /etc/issue
  • [ 第一章] JavaScript 简史
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell