VueRouter路由组件的用法介绍

1.1、<router-link>标签

<router-link>标签的作用是实现路由之间的跳转功能,默认情况下,<router-link>标签是采用超链接<a>标签显示的,通过to属性指定需要跳转的路由地址。当然,如果你不想使用默认的<a>标签,也可以使用tag属性自定义其他的标签。

<router-link>标签中的属性有下面这些:

 注意:<router-link>标签可以在不进行页面刷新的情况下,改变浏览器的URL地址,并触发相应路由的更新,使得<router-view>组件能够渲染与新路由对应的内容。

1.2、<router-view>标签

<router-view>标签的作用是指定路由视图,也就是指定显示具体路由组件的区域,它相当于一个路由区域占位符,当路由切换的时候,会将路由对应的组件内容显示在<router-view>标签所在的位置之上。

需要注意的是,一个<router-view>标签只能显示一层路由,如果在router/index.js文件中存在多级嵌套路由,那么在对应的父路由组件中,也必须使用<router-view>标签,这样才可以将子路由的内容显示到父路由组件中指定的位置。

  • PageA.vuePageB.vue组件,App.vue组件中使用了<router-view>标签,那么PageA.vuePageB.vue组件的内容就会显示在App.vue组件中的<router-view>标签所在位置。

  • 现在给PageA.vue组件创建两个子组件,分别是:PageA1.vuePageA2.vue,并且在router/index.js路由文件中,定义嵌套路由信息。

 

  • 接着,要想正确显示PageA1.vuePageA2.vue子路由的组件内容,那么就必须在PageA.vue父组件中,使用<router-view>标签。

1.3、router对象 

1.3.1、options属性

options属性可以拿到两个对象,分别是historyroutes,其中routes对象是当前项目中所有路由信息组成的一个数组,history对象其实就是浏览器中的window.history历史访问记录对象。

router对象中有一个options属性,通过这个options属性可以拿到两个对象,分别是historyroutes,其中routes对象是当前项目中所有路由信息组成的一个数组history对象其实就是浏览器中的window.history历史访问记录对象

1.3.2、路由跳转

router对象中提供了几个路由跳转的方法,分别是router.push()router.replace()router.go()router.back()router.forward()这五个方法,其中最常用的是router.push()router.replace()

  • router.push()方法作用:跳转到指定路由地址,不会替换历史访问记录中的当前路由。举个例子:

    • 假设现在已经访问过A,B,C三个路由,当前处于C路由位置,接下来要使用router.push()跳转到D路由,那么此时新的历史访问记录将变成:A,B,C,D三个路由。

    • 因为D路由会追加到原先的历史记录里面。

  • router.replace()方法作用:跳转到指定路由地址,会替换历史访问记录中的当前路由。举个例子:

    • 假设现在已经访问过A,B,C三个路由,当前处于C路由位置,接下来要使用router.replace()跳转到D路由,那么此时新的历史访问记录将变成:A,B,D三个路由。

    • 因为D路由会替换C路由的记录。

  • router.go(num)方法作用:前进或者后退num个路由,例如:router.go(2)就是前进2个路由。

  • router.back()方法作用:后退1个路由,也就是等价于router.go(-1)的作用。

  • router.forward()方法作用:前进1个路由,也就是等价于router.go(1)的作用。

1.3.3、useRoute方法:VueRouter插件中,提供了一个useRoute方法,通过这个useRoute方法可以获取到路由参数等信息。在Vue3中要通过下面方式使用useRoute方法,
// 获取 route 路由
import {useRoute} from "vue-router";
const route = useRoute();

route对象中,具有下面这些属性:

  • route.name可以获取到index.js路由配置文件中指定的name属性值

  • route.meta可以获取到index.js路由配置文件中指定的meta属性值,meta是允许用户自定义的属性。

 

  • route.query可以获取到路由传递的参数,query参数是显示在浏览器地址栏中的,用户可以看得见。

  • route.params可以获取到动态路由传递的参数,params参数会动态替换到路由路径里面。

  • route.path可以获取当前访问的路由路径。

  • route.fullPath可以获取完整的路由访问路径,也就是地址栏中端口之后的所有内容。

  • route.hash可以获取到地址栏中的hash字符串,也就是地址栏中#号之后的所有内容。

1.3.4、动态路由:VueRouter插件还可以支持动态路由,所谓的动态路由,其实就是路由路径中,可以动态的替换参数,动态路由需要在路径中使用【:】冒号定义路由参数。
  • 动态路由的定义格式:
     
    {// 动态路由定义格式// 路由路径/:路由参数1/:路由参数2path: 'B/:id/:name',name:'demo_B',component: () => import('../components/demo02/DemoB.vue')
    },

    动态路由的定义格式:其中路由参数是实际传递的参数,需要注意的是,动态路由中的参数必须采用params属性进行传递,一定不能使用query属性,一定不能使用query属性,一定不能使用query属性。

  • 通过<router-link>使用动态路由。
     

    <!-- 动态路由 params 中的参数名称,必须和动态路由中配置的相同,这样才可以正确接受到参数
    -->
    <router-link :to="{name:'demo_B',params:{id:1,name:'Tom'}}">B</router-link>

  • 通过router.push()方法使用动态路由。
     

    // 动态路由访问
    router.push({name: 'demo_B',params: {id: 1,name: 'Tom'}
    });

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

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

相关文章

【C/C++】胜者树与败者树:多路归并排序的利器

文章目录 胜者树与败者树&#xff1a;多路归并排序的利器1 胜者树简介1.1 定义1.2 胜者树结构与原理1.2.1 构造流程1.2.2 归并过程 2 败者树简介2.1 背景场景2.2 基本定义2.3 败者树结构和原理2.3.1 树的构造&#xff08;初始建树&#xff09;2.3.2 查询和更新 3 胜者树 vs 败者…

零基础设计模式——第二部分:创建型模式 - 原型模式

第二部分&#xff1a;创建型模式 - 5. 原型模式 (Prototype Pattern) 我们已经探讨了单例、工厂方法、抽象工厂和生成器模式。现在&#xff0c;我们来看创建型模式的最后一个主要成员——原型模式。这种模式关注的是通过复制现有对象来创建新对象&#xff0c;而不是通过传统的…

C++(初阶)(十九)——红黑树

红黑树 红黑树概念规则实现结点插入变色变色参考代码&#xff1a; 查找查找参考代码 遍历 红黑树检查完整代码 概念 红⿊树是⼀棵⼆叉搜索树。它的每个结点增加⼀个存储位来表示结点的颜⾊&#xff0c;可以是红色或者黑色&#xff08;并不会出现第三种颜色&#xff09;。 通过…

Mistral AI 开源最新 Small 模型——Devstral-Small-2505

Devstral 是一款专为软件工程任务设计的代理型大语言模型&#xff08;LLM&#xff09;&#xff0c;由 Mistral AI 和 All Hands AI 合作开发 &#x1f64c;。Devstral 擅长使用工具探索代码库、编辑多个文件以及驱动软件工程代理。该模型在 SWE-bench 上表现出色&#xff0c;使…

CDGA|一线二线企业数据治理项目目前发展状况

一线城市与二线城市企业在数据治理项目的发展状况上存在一定差异&#xff0c;主要体现在目标、资源投入、策略实施以及文化培育等方面。 一线城市企业数据治理项目发展状况 ‌数据治理目标全面系统‌&#xff1a; ‌数据质量与安全‌&#xff1a;一线城市的大型企业通常拥有海量…

Lyra学习笔记1地图角色加载流程

目录 1 地图加载流程1.1 默认Experience的加载1.2 加载角色1.3 加载场景中的几个传送点 2 几个内建类的笔记2.1 UDataAsset2.2 UAssetManager 纯个人笔记&#xff0c;有错误欢迎指正&#xff0c;学习阶段基本看到不会的就写一写&#xff0c;最后有时间会梳理整体结构 先看完了官…

SurfaceFlinger及Android应用RenderThread角度观察Jank丢帧卡顿

SurfaceFlinger及Android应用RenderThread角度观察Jank丢帧卡顿 CPU、GPU、Display 三个部分&#xff1a;CPU 负责计算帧数据&#xff0c;把计算好的数据交给 GPU&#xff0c;GPU 会对图形数据进行渲染&#xff0c;渲染好后放到 buffer &#xff08;图像缓冲区&#xff09;存起…

《牛客》数组中出现次数超过一半的数字

牛客的刷题之路不停歇 ⌓‿⌓ 不积跬步无以至千里&#xff0c;不积小流无以成江海 The harder you work,the luckier you will be 题目及示例 题目链接 描述 给一个长度为 n 的数组&#xff0c;数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 例…

七彩喜康养护理——科技赋能下的全周期健康守护

在当今社会&#xff0c;随着人们健康意识的不断提高&#xff0c;护理行业逐渐走向专业化、精细化&#xff0c;而七彩喜智养护理作为一种新兴的护理方式&#xff0c;逐渐受到了广泛的关注和应用。 它不仅仅是针对单一病症的治疗护理&#xff0c;而是一种全面的、全方位的健康管…

【爬虫】12306自动化购票

上文&#xff1a; 【爬虫】12306查票-CSDN博客 下面是简单的自动化进行抢票&#xff0c;只写到预定票&#xff0c;没有写完登陆&#xff0c; 跳出登陆后与上述代码同理修改即可。 感觉xpath最简单&#xff0c;复制粘贴&#xff1a; 还有很多写法&#xff1a; 官网地址&#…

Java设计模式之组合模式:从入门到精通(保姆级教程)

文章目录 1. 组合模式概述1.1 专业定义1.2 通俗解释1.3 模式结构2. 组合模式详细解析2.1 模式优缺点2.2 适用场景3. 组合模式实现详解3.1 基础实现3.2 代码解析4. 组合模式进阶应用4.1 透明式 vs 安全式组合模式4.2 组合模式与递归4.3 组合模式与迭代器5. 组合模式在实际开发中…

游戏如何应对反编译工具dnspy

Unity Mono 是 Unity 引擎默认的脚本运行时环境&#xff0c;由跨平台的开源 .NET 框架实现&#xff0c;它允许开发者使用 C# 等编程语言编写游戏逻辑&#xff0c;凭借简单易用的开发环境和高效的脚本编译速度&#xff0c;得到了众多游戏的青睐。 在 Mono 模式下&#xff0c;游…

腾讯云证书过期提醒的应对措施,Caddy 自动管理的 Let‘s Encrypt 证书.

用腾讯的免费证书&#xff0c;90天需要换一次。 Caddy 自动管理的 Lets Encrypt 证书. 在网站上按F12然后找到security选项&#xff0c;然后选择View certifcate 就可以看到证书的有效期。 完全无需操作 你的网站实际使用的是 Caddy 自动管理的 Lets Encrypt 证书&#xff0c;…

[Java实战]Spring Boot整合Elasticsearch(二十六)

[Java实战]Spring Boot整合Elasticsearch&#xff08;二十六&#xff09; 摘要&#xff1a;本文通过完整的实战演示&#xff0c;详细讲解如何在Spring Boot项目中整合Elasticsearch&#xff0c;实现数据的存储、检索和复杂查询功能。包含版本适配方案、Spring Data Elasticsea…

【关联git本地仓库,上传项目到github】

目录 1.下载git2.绑定用户3.git本地与远程仓库交互4.github项目创建5.上传本地项目到github6.完结撒花❀❀❀&#xff01;&#xff01;&#xff01; 1.下载git git下载地址&#xff1a;https://git-scm.com/downloads 下载安装后创建快捷地址&#xff1a;&#xff08;此处比较…

[Vue]路由基础使用和路径传参

实际项目中不可能就一个页面&#xff0c;会有很多个页面。在Vue里面&#xff0c;页面与页面之间的跳转和传参会使用我们的路由: vue-router 基础使用 要使用我们需要先给我们的项目添加依赖:vue-router。使用命令下载: npm install vue-router 使用路由会涉及到下面几个对象:…

软考-软件工程开发模型

软考-软件工程开发模型 参考视频&#xff1a; 软件工程概述&开发模型 &#xff0c;配合视频理解更清晰&#xff5e; 软件的生命周期为&#xff1a;需求分析、软件设计、软件开发、运行维护直至被淘汰 几个阶段。 软件工程支持 4 个活动&#xff0c;简称 PDCA&#xff0c…

【写在创作纪念日】基于SpringBoot和PostGIS的各省东西南北四至极点区县可视化

目录 前言 一、空间检索简介 1、空间表结构 2、四至空间检索 二、前后端实现 1、后端实现 2、前端集成 三、成果展示 1、东部省份 2、西部省份 3、南部省份 4、北部省份 5、中部省份 四、总结 前言 在当今数字化时代&#xff0c;地理信息数据的分析与可视化对于众…

智能守护校园“舌尖安全“:AI视频分析赋能名厨亮灶新时代

引言&#xff1a; 在校园食品安全备受关注的今天&#xff0c;一套融合视频监控管理平台与AI视频分析盒子的智能解决方案正在全国多地学校食堂悄然落地&#xff0c;为传统的"名厨亮灶"工程注入科技新动能。这套系统不仅实现了后厨操作的"透明化"&#xff0…

【软件设计师】计算机网络考点整理

以下是软件设计师考试中 ​​计算机网络​​ 的核心考点总结&#xff0c;帮助您高效备考&#xff1a; ​​一、网络体系结构与协议​​ ​​OSI七层模型 & TCP/IP四层模型​​ 各层功能&#xff08;物理层-数据链路层-网络层-传输层-会话层-表示层-应用层&#xff09;对应协…