VueRouter路由组件的用法介绍

news2025/5/24 10:17:07

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/:路由参数2
        path: '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.coloradmin.cn/o/2384524.html

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

相关文章

数据结构第1章 (竟成)

第 1 章 编程基础 1.1 前言 因为数据结构的代码大多采用 C 语言进行描述。而且&#xff0c;408 考试每年都有一道分值为 13 - 15 的编程题&#xff0c;要求使用 C/C 语言编写代码。所以&#xff0c;本书专门用一章来介绍 408 考试所需的 C/C 基础知识。有基础的考生可以快速浏览…

Terraform创建阿里云基础组件资源

这里首先要找到阿里云的官方使用说明: 中文版:Terraform(Terraform)-阿里云帮助中心 英文版:Terraform Registry 各自创建一个阿里云的RAM子账号,并给与OPAPI的调用权限,(就是有aksk,生成好之后保存下.) 创建路径: 登陆阿里云主账号-->控制台-->右上角企业-->人员…

企业级调度器LVS

访问效果 涉及内容&#xff1a;浏览拆分、 DNS 解析、反向代理、负载均衡、数据库等 1 集群 1.1 集群类型简介 对于⼀个业务项⽬集群来说&#xff0c;根据业务中的特性和特点&#xff0c;它主要有三种分类&#xff1a; 高扩展 (LB) &#xff1a;单个主机负载不足的时候&#xf…

【Web前端】HTML网页编程基础

HTML5简介与基础骨架 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.html结尾 HTML是一种标记语言&#xff0c;标记语言是一套标记标签。标签是由尖括号包围的关键字&#xff0c;例如<html> 标签有两种表现形…

阿里开源 CosyVoice2:打造 TTS 文本转语音实战应用

1、引言 1.1、CosyVoice2 简介 阿里通义实验室推出音频基座大模型 FunAudioLLM,包含 SenseVoice 和 CosyVoice 两大模型。 CosyVoice:模拟音色与提升情感表现力 多语言 支持的语言: 中文、英文、日文、韩文、中文方言(粤语、四川话、上海话、天津话、武汉话等)跨语言及…

RabbitMQ可靠传输——持久性、发送方确认

一、持久性 前面学习消息确认机制时&#xff0c;是为了保证Broker到消费者直接的可靠传输的&#xff0c;但是如果是Broker出现问题&#xff08;如停止服务&#xff09;&#xff0c;如何保证消息可靠性&#xff1f;对此&#xff0c;RabbitMQ提供了持久化功能&#xff1a; 持久…

无人机开启未来配送新篇章

低空物流&#xff08;无人机物流&#xff09;是利用无人机等低空飞行器进行货物运输的物流方式&#xff0c;依托低空空域&#xff08;通常在120-300米&#xff09;实现快速、高效、灵活的配送服务。它是低空经济的重要组成部分&#xff0c;广泛应用于快递配送、医疗物资运输、农…

Qt状态机QStateMachine

QStateMachine QState 提供了一种强大且灵活的方式来表示状态机中的状态&#xff0c;通过与状态机类(QStateMachine)和转换类(QSignalTransition&#xff0c; QEventTransition)结合&#xff0c;可以实现复杂的状态逻辑和用户交互。合理使用嵌套状态机、信号转换、动作与动画、…

Java详解LeetCode 热题 100(20):LeetCode 48. 旋转图像(Rotate Image)详解

文章目录 1. 题目描述2. 理解题目3. 解法一&#xff1a;转置 翻转3.1 思路3.2 Java代码实现3.3 代码详解3.4 复杂度分析3.5 适用场景 4. 解法二&#xff1a;四点旋转法4.1 思路4.2 Java代码实现4.3 代码详解4.4 复杂度分析4.5 适用场景 5. 详细步骤分析与示例跟踪5.1 解法一&a…

CAU人工智能class4 批次归一化

归一化 在对输入数据进行预处理时会用到归一化&#xff0c;将输入数据的范围收缩到0到1之间&#xff0c;这有利于避免纲量对模型训练产生的影响。 但当模型过深时会产生下述问题&#xff1a; 当一个学习系统的输入分布发生变化时&#xff0c;这种现象称之为“内部协变量偏移”…

Android11以上通过adb复制文件到内置存储让文件管理器可见

之前Android版本如果需要将文件通过adb push放到内置存储&#xff0c;push到/data/media/10下的目录即可&#xff0c;直接放/sdcard/文件管理器是看不到的。 现在最新的Android版本直接将文件放在/sdcard或/data/media/10下文件管理器也看不到 可以将文件再复制一份到一下路径…

篇章二 需求分析(一)

目录 1.知名MQ 2.需求分析 2.1 核心概念 2.2 生产者消费者模型的类别 2.3 BrokerServer 内部的关键概念&#xff08;MQ&#xff09; 1.虚拟主机&#xff08;Virtual Host&#xff09; 2.交换机&#xff08;Exchange&#xff09; 3.队列&#xff08;Queue&#xff09; 4…

图解深度学习 - 机器学习简史

前言 深度学习并非总是解决问题的最佳方案&#xff1a;缺乏足够数据时&#xff0c;深度学习难以施展&#xff1b;某些情况下&#xff0c;其他机器学习算法可能更为高效。 若初学者首次接触的是深度学习&#xff0c;可能会形成一种偏见&#xff0c;视所有机器学习问题为深度学…

Gmsh 代码深度解析与应用实例

在科学计算与工程仿真领域&#xff0c;Gmsh 是一款广受欢迎的开源有限元网格生成器&#xff0c;它不仅支持复杂的几何建模&#xff0c;还能高效生成高质量的网格&#xff0c;并具备强大的后处理功能。本文将深入解析几段具有代表性的 Gmsh 代码&#xff0c;从基础几何创建到高级…

49页 @《人工智能生命体 新启点》中國龍 原创连载

《 人工智能生命体 新启点 》一书&#xff0c;以建立意识来建立起生命体&#xff0c;让其成为独立、自主的活动个体&#xff1b;也就可以理解为建立生命体的思想指导。 让我们能够赋予他灵魂&#xff01;

量化研究---bigquant策略交易api研究

api接口来平台的代码整理&#xff0c;原理是读取bigquant的模拟测试信号&#xff0c;下单&#xff0c;可以完美的对接qmt交易&#xff0c;我优化了交易api的部分内容 我开发对接qmt的交易系统 看api源代码 源代码 # 导入系统包 import os import json import requests from ty…

编译原理 期末速成

一、基本概念 1. 翻译程序 vs 编译程序 翻译程序的三种方式 编译&#xff1a;将高级语言编写的源程序翻译成等价的机器语言或汇编语言。&#xff08;生成文件&#xff0c;等价&#xff09;解释&#xff1a;将高级语言编写的源程序翻译一句执行一句&#xff0c;不生成目标文件…

echarts之漏斗图

vue3echarts实现漏斗图 echarts中文官网&#xff1a;https://echarts.apache.org/examples/zh/index.html 效果图如下&#xff1a; 整体代码如下&#xff1a; <template><div id"funnelChart" style"width:100%;height:400px;"></div&g…

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

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

java 进阶 1.0.3

Thread API说明 自己滚去看文档 CPU线程调度 每一个线程的优先使用权都是系统随机分配的&#xff0c;人人平等 谁先分配到就谁先用 也可以耍赖&#xff0c;就是赋予某一个线程拥有之高使用权&#xff1a;优先级 这样的操作就叫做线程调度 最基本的是系统轮流获得 java的做法是抢…