Vue3_基础使用_4_路由器Router

概念:

     路由:是一个key-value的对应关系叫路由。

     路由器:管理多个路由的集合或者叫设备称为路由器。

由于现在组件替代了以前的mvc中的cshtml, 组件的菜单切换也不用我手动去写,vue给我们通过配置完成。

实现简单的路由跳转:

     1.安装路由,由于是vue3直接安装不像vue2加个3版本。

     

      2.src下建立router文件夹,在该文件夹下建立index.ts    vue3是ts,vue2是js.index中写路由配置

          准备好跳转的组件。

      备注:router 文件夹是默认的名称也就是一般都写这个名代表这是管理路由的。 
      vue中区分一般组件与路由组件,
      一般组件:指自己写<demo/>标签出来的一般放在compoents文件夹下。
      路由组件:指通过路由配置出来的并没有自己写标签,一般放在pages或者叫views下。

  3.将路由使用到vue项目中,打开main.ts  写入下面代码

   4.组件中使用路由跳转

备注:先从vue-router引入他的组件,routerView占位,routerLink生成跳转a标签里面这个to就是路由中的path属性。已经可以进行切换。

路由器的工作模式:

history:url更加美观不带有#,缺点是需要后端服务器的配合处理,否则会有404.

hash:url带有#号,兼容性更好不需要服务器配合。

const router=createRouter({history:createWebHistory()//history 模式 url不带#...
})
const router=createRouter({history:createWebHashHistory()//Hash 模式 url带#...
})

命名路由:

   所谓命名路由就是在路由配置加name属性,后面可以写name根据这个跳,不用写path,其实就是多一个跳转的写法。

嵌套路由:

    就是子组件里面还有路由跳转。

使用  第一种写法

使用name:

路由的参数传递query:

?后面跟参数   第一种写法

传递动态值    第一种写法

第二种写法:

接收:

上面的route.query.a 过于麻烦,使用结构化幅值优化,但是结构化幅值一个响应式会将它失去响应式特性  需要使用toRefs让其保留响应式。

路由的参数传递Params:

传递参数第一种 写法

 第二种写法,这里不能传对象和数组

忽略参数的值,浏览器也会呈现  传递的值

修改路由加占位:那个可以不传后面加?

接收使用:

路由_props配置

可以让路由更方便的接收参数,因为上面接收query,params参数都要写下面一堆进行接收。

路由配置一下:

相当于你手动写<demo id="001" name="php"/>组件props传递参数。

接收使用:

replace属性

vue路由replace属性的意思是是否保留历史记录两个值push保留,replace不保留。

在跳转的标签上加replace属性就不保留历史,不加默认push模式有历史。

编程式路由导航

意思就是不用<RouterLink>标签进行跳转,因为这个标签始终会生成一个A标签。

想任意用一个html标签进行跳转就编程式导航。

定义一个button进行跳转

重定向

意思是默认打开那个组件,在路由配置中加属性,与路由平级。

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

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

相关文章

vue3组件间的通信,通过props,emit,provide和inject把数据传递N个层级,expose和ref实现父组件调用子组件方法

文章目录 一、父组件数据传递N个层级的子组件vue3 provide 与 injectA组件名称 app.vueB组件名称 provideB.vueC组件名称 provideCSetup.vue 二、使用v-model指令实现父子组件的双向绑定父组件名称 app.vue子组件名称 v-modelSetup.vue 三、父组件props向子组件传值子组件 prop…

VIO第3讲:基于优化的IMU与视觉信息融合之预积分残差雅可比推导

VIO第3讲&#xff1a;基于优化的IMU与视觉信息融合之预积分残差雅可比推导 文章目录 VIO第3讲&#xff1a;基于优化的IMU与视觉信息融合之预积分残差雅可比推导4 IMU 预积分残差的雅克比4.1 预积分残差4.2 残差对两个关键帧i、j状态量的雅可比① 速度误差 r v r_{v} rv​对i时刻…

高和汽车停工停产,创始人丁磊终于发话了!2024的冷门项目,投入小,但是真的很赚钱!

高和创始人丁磊站在停产停工的工厂呢&#xff0c; 环顾冷清❄️的四周&#xff0c;眉头紧锁&#x1f623;&#xff0c; 停顿片刻后对旁边同样愁眉苦脸的员工说道&#xff1a; 非常抱歉&#xff0c;因为经营的失误&#xff0c;面临了停产停工的窘境。 在互联网&#x1f517;、物…

力扣20.有效的括号

题目链接 这个学过数据结构栈的应用的基本上都会 就是把字符串进栈&#xff0c;如果是左边的括号&#xff0c;无脑入栈&#xff0c; 如果是右边的括号&#xff0c;那得看栈顶是不是和它匹配&#xff0c;如果匹配的话&#xff0c;一起出栈&#xff0c;如果不匹配&#xff0c;就先…

R语言【raster】——rasterize():栅格化点、线、面

Package raster version 3.6-27 Description 将与“对象”类型空间数据(点、线、多边形)相关的值转移到栅格单元。 对于多边形&#xff0c;如果多边形覆盖栅格单元的中心&#xff0c;则传输值。对于行&#xff0c;将值传输到与行接触的所有单元格。您可以通过先将多边形光栅化…

九、线性代数二-向量组的概念

目录 1、向量组的概念&#xff1a; 2、向量组线性组合的概念&#xff1a; 3、向量组的线性组合的矩阵表示&#xff1a; 4、向量组的线性组合的方程组表示&#xff1a; 1、向量组的概念&#xff1a; 理解&#xff1a; 矩阵是一个特殊的向量组。 2、向量组线性组合的概念&…

软考40-上午题-【数据库】-关系代数运算2-专门的集合运算

一、专门的集合运算 1、投影 示例&#xff1a; 可以用属性名进行投影&#xff0c;也可以用列的序号进行投影。 2、选择 例题 1、笛卡尔积 2、投影 3、选择 3、连接 第一步都要算&#xff1a;笛卡尔积。 3-1、θ连接 示例&#xff1a; 3-2、等值连接 示例&#xff1a; 3-3、自…

嵌入式ARM LINUX实战开发-linux常用指令

链接&#xff1a;https://pan.baidu.com/s/1KTnzt19pzOE2Uwvp7d4E-w?pwd1688 提取码&#xff1a;1688 (1) ls&#xff08;list&#xff0c;列表&#xff09; 作用&#xff1a;使用列表把当前文件夹下所有文件显示出来 ls -a 显示所有文件&#xff0c;包括隐藏文件 ls …

如何准确查询自己的大数据信用报告?

在当今数字化时代&#xff0c;大数据信用报告在个人信用评估中扮演着越来越重要的角色。然而&#xff0c;很多人可能不知道如何查询自己的大数据信用报告。本文贷大家一起了解一下&#xff0c;希望对你有帮助。 如何准确查询自己的大数据信用报告&#xff1a; 一、找到可靠的查…

Python学习 --- 面向对象

1.什么是对象 1.Python中创建类的关键字是 class 2.类的成员方法 1.函数是写在类外面的,方法则是写在类里面的 1.上面这一段代码中就展示了如何在方法中访问类的成员变量: self.成员变量名 3.魔术方法 魔术方法其实就是python中的类中的内置方法,下面这几个只是我们比较常…

Linux应用- RabbitMQ安装

RabbitMQ安装部署【简单】 简介 RabbitMQ一款知名的开源消息队列系统&#xff0c;为企业提供消息的发布、订阅、点对点传输等消息服务。 RabbitMQ在企业开发中十分常见&#xff0c;为大家演示快速搭建RabbitMQ环境。 安装 rabbitmq在yum仓库中的版本比较老&#xff0c;所以…

Git基本操作(1)

Git基本操作&#xff08;1&#xff09; 初始化git本地仓库git本地仓库配置git config user.name 和git config user.emailgit config --unset user.name和git config --unset user.emailgit config --global 认识工作区&#xff0c;暂存区&#xff0c;版本库更深层次理解 git a…

做qt界面样式,写代码,好用的搜索工具,我推荐ai伙伴

ai伙伴 这里有最全的官方qss样式&#xff0c;但还是有点不全 有些qt样式要配合csdn来搜

Java学习26--枚举类

enum枚举 Java 枚举是一个特殊的类&#xff0c;一般表示一组常量&#xff0c;比如一年的 4 个季节&#xff0c;一年的 12 个月份&#xff0c;一个星期的 7 天&#xff0c;方向有东南西北等。 Java 枚举类使用 enum 关键字来定义&#xff0c;各个常量使用逗号 , 来分割。 enu…

微服务Day6

文章目录 DSL查询文档RestClient查询文档快速入门 旅游案例 DSL查询文档 RestClient查询文档 快速入门 Testvoid testMatchAll() throws IOException {//1.准备RequestSearchRequest request new SearchRequest("hotel");//2.准备DSLrequest.source().query(QueryB…

海外媒体推广通过5个发稿平台开拓国际市场-华媒舍

随着全球化的进程&#xff0c;国际市场对于企业的吸引力日益增加。进入国际市场并获得成功并非易事。海外媒体推广发稿平台成为了一种重要的营销手段&#xff0c;能够帮助企业在国际市场中建立品牌形象、传递信息和吸引目标受众。本文介绍了五个海外媒体推广发稿平台&#xff0…

Linux系统安装部署RabbitMQ详细教程(图文详解)

前言:在分布式系统中进行消息传递和通信时,可能会用到RabbitMQ,这边我写一篇简易的部署教程,带大家了解一下,只要跟着文章一步步走就可以部署成功了,其中的坑博主都替大家踩过了。 博主的其他部署教程: 1、Docker部署前后端分离项目:手把手通过Docker部署前后端分离项目…

Linux:gcc的基本知识

gcc 是一个将C语言文件变成可执行文件的工具。 在Linux中&#xff0c;如果需要将一个C语言文件变得可以执行&#xff0c;那么除了这个文件本身的内容是C语言编写的内容外&#xff0c;还需要gcc这个编译工具进行编译才行。 gcc 使用的格式方法:gcc 要编译的文件 //在该代码下…

【软件架构】05-高性能架构

1、缓存 设计思路&#xff1a; 1.什么数据应该缓存 2.什么时机触发缓存和以及触发方式是什么 3.缓存的层次和粒度&#xff08; 网关缓存如 nginx&#xff0c;本地缓存如单机文件&#xff0c;分布式缓存如redis cluster&#xff0c;进程内缓存如全局变量&#xff09; 1&#…