VUE3-路由《七》

news2025/1/2 3:36:19

路由就是点击链接或者按钮,进行跳转另一个界面中。在vue中一般使用vue-router来完成路由的操作。

下面我们进行路由的跳转和嵌套路由的实例操作。

1.首先建立一个正常的运行程序

2. 安装vue-router

使用下面的命令,安装路由

npm install vue-router@4

安装完成后,在package.json中可以看到

3.首先我们创建6个vue文件

为了美观,我们安装element-plus,这里不再演示。

A1

<template>
	我是A1界面
	  <el-button type="primary">Primary</el-button>
	      <el-button type="success">Success</el-button>
	      <el-button type="info">Info</el-button>
	      <el-button type="warning">Warning</el-button>
	      <el-button type="danger">Danger</el-button>
</template>

<script>
</script>

<style>
</style>

 A2-1

<template>
	我是A2-1界面
</template>

<script>
</script>

<style>
</style>

A3 

<template>
	我是A3界面
</template>

<script>
</script>

<style>
</style>

<template>
	我是B界面
</template>

<script>
</script>

<style>
</style>

<template>
	我是C界面
</template>

<script>
</script>

<style>
</style>

DemoMain 

<script setup>
</script>

<template>

	<el-container>
		<el-aside style="background-color:#c6e2ff;  ">
			<el-menu :default-openeds="['1']" :unique-opened="true" active-text-color="#ffd04b"
				background-color="#545c64" text-color="#fff">
				<el-sub-menu index="1">
					<template #title>
						<span>A目录</span>
					</template>
					<router-link to="/DemoMain/A1" style="text-decoration: none">
						<el-menu-item index="1-2">A1目录</el-menu-item>
					</router-link>
					<el-sub-menu index="1-3">
						<template #title>A2目录</template>
						<router-link to="/DemoMain/A2-1" style="text-decoration: none">
							<el-menu-item index="1-3-1">A2-1目录</el-menu-item>
						</router-link>
					</el-sub-menu>
					<router-link to="/DemoMain/A3" style="text-decoration: none">
						<el-menu-item index="1-2">A3目录</el-menu-item>
					</router-link>
				</el-sub-menu>
				<router-link to="/DemoMain/B" style="text-decoration: none">
					<el-menu-item index="2">
						B目录
					</el-menu-item>
				</router-link>
				<router-link to="/DemoMain/C" style="text-decoration: none">
					<el-menu-item index="3">
						C目录
					</el-menu-item>
				</router-link>
			</el-menu>
		</el-aside>
		<el-container>
			<el-header style="background-color: #d1edc4; ">Header</el-header>
			<el-main style="background-color:#c8c9cc; ">
				<router-view></router-view>
			</el-main>
		</el-container>
	</el-container>
</template>

<style scoped>

</style>

其中DemoMain是主界面的代码,也是最关键的。 

4.建立一个文件夹store,再建立一个router.js文件,进行路由配置

代码 

import {
	createRouter,
	createWebHashHistory
} from 'vue-router'

// 配置路由
const router = createRouter({
	history: createWebHashHistory(),
	routes: [{
			path: '/',
			redirect: '/DemoMain' //初始化默认值 需要配置 和下面配置要一样
		},
		// {
		// 	path: '/DemoMain',
		// 	component: () => import("../components/DemoMain.vue")
		// },
		{
			path: "/DemoMain",
			redirect: '/DemoMain/A1',
			component: () => import("../components/DemoMain.vue"), //初始化默认值 需要配置 和下面配置要一样

			children: [{
					path: 'A1',
					component: () => import("../components/A1.vue")
				},
				{
					path: 'A2-1',
					component: () => import("../components/A2-1.vue")
				},
				{
					path: 'A3',
					component: () => import("../components/A3.vue")
				},
				{
					path: 'B',
					component: () => import("../components/B.vue")
				},
				{
					path: 'C',
					component: () => import("../components/C.vue")
				}
			]
		}
	]

})
// router.beforeEach((to, from, next) => {
// 	//这里对路由的值,进行判断
// 	// if (to.path === '/Login') { // 1.如果访问的是登录页面(无需权限),直接放行 || to.path === '/register'
// 	// 	return next()
// 	// }
// 	// next()
// })
export default router

5.最后修改App.vue文件

<script setup>
</script>

<template>
	<router-view></router-view>
</template>

<style>
	#app {
		font-family: Avenir, Helvetica, Arial, sans-serif;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		text-align: center;
		color: #2c3e50;
		margin-top: 0px;
	}
	
	html,
	body,
	#app,
	.el-container {
		/*设置内部填充为0,几个布局元素之间没有间距*/
		padding: 0px;
		/*外部间距也是如此设置*/
		margin: 0px;
		/*统一设置高度为100%*/
		height: 100%;
	}
</style>

6.效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【技巧】vs2019调试

文章目录一.计算机Bug的由来二.调试1.调试的定义2.调试的基本步骤2.release和debug的区别3.调试的快捷键4.其他功能的快捷键1、窗口快捷键2、项目功能快捷键**3、查找相关快捷键4、代码快捷键5、编辑快捷键5.经典例题6.写代码的好习惯举例&#xff1a;模拟实现strcpy7.const的作…

安装Ubuntu Linux,配套安装宝塔,安装禅道OK!

安装Deepin完成后 进行root、SSH允许远程登陆配置&#xff0c; 登录root账号&#xff0c;初次登录可按照以下步骤&#xff1a; sudo passwd root //修改root密码 输入密码后。 sudo su 输入密码登录root权限。 登录后进行ssh安装与配置。 sudo apt-get update//这一句是…

【JavaScript】——javascript牛客专项练习错题合集

答&#xff1a; var b function(){alert(this.a); }, obj {a:1,b:b // 把函数独立出来 }; var fun obj.b;// 存储的是内存中的地址 fun(); 虽然fun是obj.b的一个引用&#xff0c;但是实际上&#xff0c;它引用的是b函数本身&#xff0c;因此此时的fun()其实 是一个不带任何…

云原生周刊 | 使用 kube-reqsizer 自动调整资源配额

开源项目推荐 kptop Kubernetes API 提供的监控指标非常有限&#xff0c;而 kubectl top 就是利用 Kubernetes API 来查看 Node 和 Pod 的实时资源使用情况。kptop 使用 Prometheus 作为数据源&#xff0c;不仅可以在终端上显示 Node 和 Pod 的资源使用情况&#xff0c;还可以…

vue中v-if和v-for的区别是什么

v-if和v-for的区别&#xff1a;1、作用不同&#xff0c;v-if指令用于条件性地渲染一块内容&#xff0c;这块内容只会在指令的表达式返回 true值的时候被渲染&#xff1b;而v-for指令基于一个数组来渲染一个列表。2、优先级不同&#xff0c;v-for优先级比v-if高&#xff0c;在进…

基于 Flask 的后台管理系统源码(含数据库文件),基于 Flask 生态,权限,快速开发平台

开 箱 即 用 的 Flask 快 速 开 发 平 台完整代码下载地址&#xff1a;基于 Flask 的后台管理系统源码&#xff08;含数据库文件&#xff09; 项目简介 Pear Admin Flask 基于 Flask 的后台管理系统&#xff0c;拥抱应用广泛的python语言&#xff0c;通过使用本系统&#xff0c…

解决OSPF不规则区域的实验

目录 1.拓扑图 2.实验思路 3.主要配置 4.测试 5.实验总结 1.拓扑图 2.实验思路 实验的总体流程为&#xff0c;先让所有设备与公网可以正常通信。在边界路由器配置缺省指向ISP&#xff0c;并且向内部所有设备下放缺省路由&#xff0c;在边界路由器上配置NAT。想让左边部分…

IPv4与IPv6

IPv4 地址 IPv4地址是一个32位数字&#xff0c;通常使用点号分隔的四个十进制八位字节 (取值范围从0到255)表示。 此类地址分为两个部分: 网络部分和主机部分。位于同一子网中的所有主机可以在彼此之间直接通信&#xff0c;无需路由器&#xff0c; 这些主机具有相同的网络部分…

如何使用 Terraform 构建基于 SmartX 超融合的自服务管理平台

越来越多的运维和开发人员发现&#xff0c;无法实现自动管理的基础设施已成为业务敏捷上线的阻碍。 对于基础架构运维人员来说&#xff0c;日常维护时&#xff0c;创建、回收虚拟机这一类工作的重复性很高。在创建业务虚拟机时&#xff0c;运维人员需要考虑资源放置最佳实践&a…

基于神经网络和遗传算法的飞鹦鹉机器学习

这是一个HTML5项目的源代码&#xff0c;该项目使用神经网络和遗传算法在Flappy Bird视频游戏中实现机器学习算法。该程序教一只小鸟如何以最佳方式拍打&#xff0c;以便尽可能长时间地安全地飞过障碍物。 所有代码都是用HTML5编写的&#xff0c;使用Phaser框架和Synaptic Neu…

ssh 命令

勿以恶小而为之&#xff0c;勿以善小而不为---- 刘备 简单说&#xff0c;SSH是一种网络协议&#xff0c;用于计算机之间的加密登录。 如果一个用户从本地计算机&#xff0c;使用SSH协议登录另一台远程计算机&#xff0c;我们就可以认为&#xff0c;这种登录是安全的&#xff0c…

SpringBoot 自动装配原理,一文掌握!|原创

本文详细讲解了 SpringBoot 自动装配原理&#xff0c;可以直接拉到最后看总结。由于 Spring 源码比较复杂&#xff0c;是需要一些基础的。如果有不懂的地方&#xff0c;欢迎提问&#xff01;点击上方“后端开发技术”&#xff0c;选择“设为星标” &#xff0c;优质资源及时送达…

【C语言】函数详解

&#x1f525;&#x1f525; 欢迎来到小林的博客&#xff01;&#xff01;       &#x1f6f0;️博客主页&#xff1a;✈️小林爱敲代码       &#x1f6f0;️专栏&#xff1a;✈️C语言快速入门       &#x1f6f0;️欢迎关注&#xff1a;&#x1f44d;点…

【Spring【IOC】】——17、@Resource注解和@Inject注解?

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

【算法题解】6.合并两个有序数组

文章目录题目解法一&#xff1a;双指针解题思路图解代码实现复杂度分析解法二&#xff1a;逆向双指针解题思路图解代码实现复杂度分析题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素…

Plaxis软件:Python命令流自动建模与应用

有限单元法在岩土工程问题中应用非常广泛&#xff0c;很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法。在使用各大软件进行数值模拟建模的过程中&#xff0c;您是否发现GUI界面中重复性的点击输入工作太繁琐&#xff1f;从而拖慢了设计或方案必选进程&#xff1f;针对…

day30【代码随想录】回溯之分割回文串、复原IP地址、子集

文章目录前言一、分割回文串&#xff08;力扣131&#xff09;二、复原IP地址&#xff08;力扣93&#xff09;三、子集&#xff08;力扣78&#xff09;总结前言 1、分割回文串 2、复原IP地址 3、子集 一、分割回文串&#xff08;力扣131&#xff09; 给你一个字符串 s&#xf…

Win10如何显示文件后缀名?显示后缀名的简单方法

现在大多数用户使用的电脑都是Win10系统&#xff0c;有时我们重装电脑系统&#xff0c;会发现电脑出现一些问题&#xff0c;比如文件后缀名不显示出来。如何显示文件后缀名&#xff1f;方法很简单&#xff0c;跟着下面的详细操作步骤走&#xff0c;轻轻松松Get回消失的文件后缀…

Http和Https和SSL工作原理

相关概念 Http&#xff1a;超文本传输协议&#xff08;Hyper Text Transfer Protocol&#xff0c;HTTP&#xff09;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上&#xff0c;是Web协议族中非常重要的一个协议。协议版本包含Http1.0、Http1.1 和Http2.0. Https&…

【3D游戏基础】蒙皮骨骼动画与骨架

效果目标&#xff01;画出蒙皮动画的骨架。视频https://www.bilibili.com/video/BV1pM411m7YwPPThttps://zfxdvouj61.feishu.cn/file/boxcnwgESO6zdQetO7oNhKboNsd以下为PPT文字稿&#xff0c;建议还是看视频讲讲自己对蒙皮骨骼动画的理解&#xff0c;并在 Cocos Creator 3.6 中…