vue路由(路由基本使用,传参,多级路由)

目录

  • vue-router简介
  • 路由配置和使用
  • 嵌套(多级)路由
  • 路由传参
    • 方式1:路由的query参数
    • 方式2:路由的params参数
    • props配置
  • 命名路由
  • 取消路由组件在前进后退

vue-router简介

vue的一个插件库,专门用来实现SPA应用
在这里插入图片描述

路由配置和使用

vue2安装

npm i vue-router@3

vue3安装

npm i vue-router@4

在main.js引入(1,3句)
在这里插入图片描述
和vuex类似,在src创建router/index.js
再建立两个路由组件:
在这里插入图片描述
当然为了区分普通组件和路由组件,也可以把这两个路由组件放到pages文件夹下
在这里插入图片描述
在这里插入图片描述

src/router/index.js配置:

// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../components/About'
import Home from '../components/Home'
//放到pages需要更换路径为../pages/About//创建并暴露一个路由器,`注意时routes不是routers`
export default new VueRouter({routes:[{path:'/about',component:About},{path:'/home',component:Home}]
})

App.vue中使用方式:
在这里插入图片描述

总览效果:
在这里插入图片描述

App.vue中应用:
1.路由标签
在这里插入图片描述
会自动转化为a标签,如果你不需要a标签(比如需要按钮等)后面会提到怎么使用

<router-link class="list-group-item" active-class="active" to="/about">About</router-link>
<router-link class="list-group-item" active-class="active" to="/home">Home</router-link>

2.展示
在这里插入图片描述

<router-view></router-view>

几个注意点:
在这里插入图片描述

嵌套(多级)路由

如下图,路由里面加路由
在这里插入图片描述
主要改变的地方在配置规则和使用时to需要加上父路径

router/index.js

// 该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
//引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'//创建并暴露一个路由器
export default new VueRouter({routes:[{path:'/about',component:About},{path:'/home',component:Home,children:[{path:'news',component:News,},{path:'message',component:Message,}]}]
})

注意children中的path不需要在前面加上/

pages中新建两个子页面
在这里插入图片描述

使用组件时:
在这里插入图片描述

路由传参

方式1:路由的query参数

传参:
下面是遍历组件的messageList,并将每一次遍历的id,title传入路由子组件。传递的方法有两种,第一种用了模板字符串,不推荐。
在这里插入图片描述

收参:
访问$route.query
在这里插入图片描述

方式2:路由的params参数

params参数比query参数多一个修改配置的步骤:
在这里插入图片描述
有点像请求中的RESTful风格

传参:
这里有个坑:只能用name,不能用path
在这里插入图片描述
另外一个方式,使用模板字符串
在这里插入图片描述

收参:
在这里插入图片描述

props配置

如果params传参的时候传很多个,那么我就需要写很多个插值语法中的一长串或者许多计算属性。和vuex中map解决的问题有点像。props方法可以帮我们简化写法

设置props,一般在孩子路由组件中:
在这里插入图片描述
第一种只能传固定值,一般不使用
第二种使用params,也就是上面的第二种传参
第三种使用query,上面的第一种传参

在这里插入图片描述
接收:
在这里插入图片描述

命名路由

在routes中加入name中
在这里插入图片描述
在router-link中,可以使用名字简化路径,但只能在:to使用,不能在to使用:
在这里插入图片描述

取消路由组件在前进后退

在路由组件使用的时候加上replace即可,这个组件和组件下的子组件都不会被放到记录中
如:
依次点击
A组件->B组件->C组件->D组件
C组件加replace

最后在D组件点击页面返回一次在这里插入图片描述直接到B组件


下一节为编程式路由导航

本节源码

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

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

相关文章

2024年这样做抖音小店,操作简单,起店稳定!

大家好&#xff0c;我是电商糖果 不少朋友说跟糖果抱怨过&#xff0c;说抖音小店越来越难做了。 平台的规则越来越多&#xff0c;商家运营店铺的时候&#xff0c;很容易出现违规预警。 糖果是2020年开始做的抖音小店&#xff0c;现在已经经营了多家小店。 实话实说确实比之…

MySQL面试题:经典面试题之“B+树”

在MySQL数据库领域&#xff0c;B树是一个经典的数据结构&#xff0c;它在数据库索引中发挥着重要的作用。本文将深入探讨B树的概念、特点以及在MySQL中的应用&#xff0c;帮助程序员更好地理解和掌握这一重要的数据结构。 1. B树的概念 B树是一种平衡的多路搜索树&#xff0c…

行为型设计模式

一、责任链设计模式 &#xff08;一&#xff09;概念 使多个对象都有机会处理同一个请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有一个对象处理它为止。 &#xff08;二&#xf…

Gone框架介绍1 - 在go语言上实现依赖注入,Gone是如何实现的?

文章目录 Goner的定义在Gone中是如何完成依赖注入的&#xff1f; 我在两年前实现了一个Golang的依赖注入框架&#xff0c;并且集成了gin、xorm、redis、cron、消息中间件等功能&#xff0c;自己觉得还挺好用的&#xff1b;之前一直没有时间写文档推广&#xff0c;现在"毕业…

vscode相关插件使用----持续更新中

一、VSCode&#xff08;Visual Studio Code&#xff09;常用的插件&#xff1a; Vetur/Volar&#xff1a;用于Vue.js项目的开发&#xff0c;提供语法高亮、智能感知等功能。ESLint&#xff1a;用于JavaScript代码的语法检查和风格检查&#xff0c;支持多种编码规范。Prettier …

OpenHarmony实战开发-如何实现绘制路径、并填充颜色实现饼状图效果。

Svg组件绘制路径时&#xff0c;通过Path中的M&#xff08;起点&#xff09;、H&#xff08;水平线&#xff09;、a&#xff08;绘制弧形到指定位置&#xff09;路径控制指令&#xff0c;并填充颜色实现饼状图效果。 <!-- xxx.hml --> <div class"container"…

MongoDB聚合运算符:$stdDevPop

MongoDB聚合运算符&#xff1a;$stdDevPop 文章目录 MongoDB聚合运算符&#xff1a;$stdDevPop语法使用非数值类型的值单个值数组操作数窗口值 举例应用于$group阶段在$project阶段使用在$setWindowFields阶段使用 $stdDevPop聚合运算符用来计算输入值的总体标准差。如果确认数…

构造函数中return的几种情况

能不能在构造函数中使用return呢?答案是可以的,但是return在使用过程中要知道一些规则 我们通过代码的形式,来了解了解 function TestA(name){this.name namereturn 1 } function TestB(name){this.name namereturn test } function TestC(name){this.name namereturn f…

visionPro链接相机

搜索Cognex GigE Vision Configura… 修改子网掩码为255.255.255.0 配置驱动程序 更新驱动&#xff08;如果能够选择9014Bytes&#xff0c;跳过此步骤&#xff09; 更新更改 相机ip配置 打开visionPro 选择照相机 查看实时画面 运行保存图像

【Golang】Gin 框架的多种类型绑定函数

文章目录 前言一、Gin 框架解释二、代码实现三、总结 前言 在开发 Web 应用时&#xff0c;处理 HTTP 请求和响应是我们经常需要做的事情。在 Go 语言中&#xff0c;我们有许多优秀的 Web 框架可以帮助我们完成这项工作&#xff0c;而 Gin 框架就是其中之一。本文将深入探讨 Gi…

微服务使用SockJs+Stomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(二)

大家好&#xff0c;我是程序员大猩猩。 上次我们实践了&#xff0c;Java后端如何完成SockJSStomp的配置实现。 微服务使用SockJsStomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑&#xff08;一&#xff09; 那么今天我们做一下web vue端的是如何来实现…

Java浮点类型和计算“精度丢失”原因

引言 在计算机科学领域中,浮点数是一种用于表示近似实数的数据类型,广泛应用于科学计算、工程设计、金融建模等领域。在日常编程中,我们经常会遇到浮点数的计算和处理,然而,由于浮点数在计算机中的存储和表示方式,以及二进制与十进制之间的转换问题,可能会导致计算精度…

现代机器学习(ML)技术在医疗成像领域的新应用

现代机器学习(ML)技术在医疗成像领域的新应用主要包括以下几个方面: 一、自动病变检测 使用深度学习算法,尤其是卷积神经网络(CNN),自动识别和分类医学影像中的病变,如肿瘤、炎症等。自动病变检测是现代机器学习技术在医疗成像领域应用的一个重要方向。它主要通过以下…

hive-row_number() 和 rank() 和 dense_rank()

row_number() 是无脑排序 rank() 是相同的值排名相同&#xff0c;相同值之后的排名会继续加&#xff0c;是我们正常认知的排名&#xff0c;比如学生成绩。 dense_rank()也是相同的值排名相同&#xff0c;接下来的排名不会加。不会占据排名的坑位。

智能私信软件:转化率提升的神器

在数字化营销领域&#xff0c;利用智能私信软件策略提升转化率已经成为一种不可忽视的趋势。随着人工智能技术的发展&#xff0c;这些软件变得越来越智能&#xff0c;能够根据用户的行为和偏好提供个性化的沟通体验。在这篇文章中&#xff0c;我们将探讨如何有效地运用智能私信…

Leetcode_相交链表

✨✨所属专栏&#xff1a;LeetCode刷题专栏✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 题目&#xff1a; 题解&#xff1a; 看到这个题目首先我们要排除链表逆置的想法&#xff0c;如图、因为c1节点只有一个next指针&#xff0c;逆置后不可能同时指向a2和b3节点。 其次有的的同学…

【RabbitMQ】可靠性策略(幂等,消息持久化)

MQ可靠性策略 发送者的可靠性问题生产者的重连生产者确认 MQ的可靠性数据持久化Lazy Queue 消费者的可靠性问题消费者确认机制消息失败处理 业务幂等性简答问题 发送者的可靠性问题 生产者的重连 可能存在由于网络波动&#xff0c;出现的客户端连接MQ失败&#xff0c;我们可以…

JavaScript 中的 this 到底指向谁? 今天彻底把它征服!!!

概述 我们知道&#xff0c;JS 中的 this 指向问题&#xff0c;一直是一个经久不衰的重点和考点。那么它到底难不难呢&#xff1f;怎么说呢&#xff1f;它也难也不难&#xff0c;你要是不把它理清楚&#xff0c;随意变化一下就能把你绊倒&#xff1b;但是你要是把他理清楚了以后…

VUE+TS使用elementUI的el-checkbox双重v-for循环做勾选

html部分 <template><div class"hello"><el-form :model"elForm"> <!-- cities对象数组形式 --><el-form-item v-for"(item, topIndex) in cities" :key"topIndex"> <!--item.checked 是每一个item…

最新游戏陪玩语音聊天系统3.0商业升级独立版本源码+搭建教程

首发价值29800元的最新商业版游戏陪玩语音聊天系统3.0商业升级独立版本源码。 下 载 地 址 &#xff1a; runruncode.com/php/19748.html 1. 新增人气店员轮播功能。 2. UI界面优化&#xff0c;包括游戏图标展示和分类展示的改进。 3. 增加动态礼物打赏功能。 4. 新增礼…