阿珊解说Vue中`$route`和`$router`的区别

在这里插入图片描述

🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

    • 摘要:
    • 引言:
    • 正文:
      • 1. 🔧 `$route`
      • 2. 🔧 `$router`
      • 3. 🔧 `$route`和`$router`的区别
    • 🌟 总结
    • 参考资料:

摘要:

🤔 在Vue开发中,我们经常使用$route$router这两个概念,但你知道它们之间的区别吗?本文将详细解析$route$router的不同之处,帮助读者更好地理解和使用它们。👩‍💻

引言:

🌈 Vue.js框架以其简洁的语法和声明式的数据绑定而受到开发者的喜爱。在Vue中,路由管理是实现单页面应用(SPA)的关键功能。在路由中,我们经常听到$route$router这两个概念,但你知道它们之间的区别吗?在这篇文章中,我将带你深入了解$route$router的不同之处。🚀

正文:

1. 🔧 $route

类型:$route是一个对象,它包含了当前路由的信息,如路径、查询参数、路由参数等。
应用场景:通常用于获取当前路由的信息,如在导航守卫中检查当前路由是否符合要求。

$route 是 Vue.js 中的一个对象,它用于管理当前路由的信息。它包含了当前路由的路径、查询参数、路由参数等信息。$route 对象可以在任何组件内访问,它是由 Vue Router 自动注入的。

以下是一些常用的 $route 属性和方法:

  1. $route.path:当前路由的路径。

  2. $route.params:当前路由的动态参数对象。

  3. $route.query:当前路由的查询参数对象。

  4. $route.name:当前路由的名称。

  5. $route.matched:当前路由匹配的路由记录数组。

  6. $route.isActive:当前路由是否处于激活状态。

  7. $route.isExactActive:当前路由是否处于精确激活状态。

  8. $route.replace:将当前路由替换为指定的路由。

以下是一个简单的示例:

<template><div><p>当前路由路径:{{ $route.path }}</p><p>当前路由参数:{{ $route.params }}</p><p>当前路由查询参数:{{ $route.query }}</p><p>当前路由名称:{{ $route.name }}</p><p>当前路由匹配的路由记录数组:{{ $route.matched }}</p><p>当前路由是否处于激活状态:{{ $route.isActive }}</p><p>当前路由是否处于精确激活状态:{{ $route.isExactActive }}</p><button @click="$route.replace('/about')">将当前路由替换为 /about</button></div>
</template><script>
export default {name: 'App',
};
</script>

在这个示例中,我们展示了如何使用 $route 对象的一些属性和方法。当点击按钮时,会将当前路由替换为 /about

2. 🔧 $router

类型:$router是一个实例,它包含了路由器的配置和操作方法,如添加路由、导航等。
应用场景:通常用于进行路由的跳转、添加导航守卫等操作。

$router 是 Vue.js 中的一个对象,它用于管理路由。它包含了路由的配置、导航、历史记录等功能。$router 对象可以在任何组件内访问,它是由 Vue Router 自动注入的。

以下是一些常用的 $router 属性和方法:

  1. $router.currentRoute:当前路由对象,包含了当前路由的路径、参数、查询等信息。

  2. $router.history:路由历史记录,是一个数组,包含了每次路由跳转的记录。

  3. $router.current:当前路由在路由历史记录中的索引。

  4. $router.replace:将当前路由替换为指定的路由。

  5. $router.push:跳转到指定的路由。

  6. $router.back:后退到上一个路由。

  7. $router.forward:前进到下一个路由。

以下是一个简单的示例:

<template><div><p>当前路由路径:{{ $router.currentRoute.path }}</p><p>当前路由参数:{{ $router.currentRoute.params }}</p><p>当前路由查询参数:{{ $router.currentRoute.query }}</p><button @click="$router.replace('/about')">将当前路由替换为 /about</button><button @click="$router.push('/contact')">跳转到 /contact</button><button @click="$router.back()">后退</button><button @click="$router.forward()">前进</button></div>
</template><script>
export default {name: 'App',
};
</script>

在这个示例中,我们展示了如何使用 $router 对象的一些属性和方法。当点击按钮时,会执行相应的路由操作。

3. 🔧 $route$router的区别

  • 概念:$route是路由信息对象,$router是路由器实例。
  • 使用场景:$route用于获取和检查路由信息,$router用于操作路由。
  • 功能:$route主要提供路由信息,$router提供路由器的配置和操作方法。

🌟 总结

在本篇文章中,我们详细解析了Vue中的$route$router的区别。通过对比分析,我们应该对这两个概念有了更深入的了解。在实际开发中,正确使用$route$router,将使我们的Vue应用更加高效和优质。🚀

参考资料:

  1. Vue.js官方文档:路由
  2. Vue Router官方文档

🌟 感谢您的阅读!如果您有任何疑问或建议,欢迎在评论区留言。💬

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

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

相关文章

C++之类(一)

1&#xff0c;封装 1.1 封装的引用 封装是C面向对象三大特性之一 封装的意义&#xff1a; 将属性和行为作为一个整体&#xff0c;表现生活中的事物 将属性和行为加以权限控制 1.1.1 封装意义一&#xff1a; 在设计类的时候&#xff0c;属性和行为写在一起&#xff0c;表…

spring整合Junit , Spring整合mybatis

1.spring整合Junit 1.1导入Junit坐标 1.2在test.java文件新建测试文件,开始整合

ChaosBlade故障注入工具--cpu,内存,磁盘占用\IO,网络注入等

前言&#xff1a; 本文介绍一款开源的故障注入工具chaosblade&#xff0c;该工具原本由阿里研发&#xff0c;现已开源&#xff1b;工具特点&#xff1a;功能强大&#xff0c;使用简单。 该工具故障注入包含&#xff1a;cpu&#xff0c;内存&#xff0c;磁盘io&#xff0c;磁盘…

Spring源码:手写AOP

文章目录 一、概念1、AOP是什么&#xff1f;2、相关概念1&#xff09;目标对象Target2&#xff09;通知Advice3&#xff09;连接点Joinpoint4&#xff09;切点Pointcut5&#xff09;切面Aspect6&#xff09;织入Weaving 二、分析三、实现1、实现Advice1&#xff09;前置通知2&a…

Linux系统的进程,看完它,相信你想kill“it“就kill“it“o((>ω< ))o

Linux系统的进程 众所周知&#xff0c;不管在什么系统中&#xff0c;进程和线程都是操作系统中高并发处理中产生了重要的作用。Linux作为一个操作系统&#xff0c;也必须要拥有这两者才可以进行高并发。 进程是资源分配的最小单位。每一个进程都是相互独立的&#xff0c;不管是…

c语言-大小写字母的转换

目录 方法一&#xff1a;库函数直接转换 1、toupper的测试代码 2、tolower的测试代码 方法二&#xff1a;通过修改ASCII码值转换 1、自己实现大写转小写 2、自己实现小写转大写 结语 前言&#xff1a; 在使用c语言写代码时&#xff0c;通常会遇到很多将大小写字母相互…

非线形优化 Matlab和Python (含01规划)

MATLAB&#xff1a;fmincon 在matlab中&#xff0c;一般使用fmincon来解决非线性优化问题 [x,fval,exitflag,output,lambda,grad,hessian]fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) 一般使用&#xff1a; [x,fval,exitflag]fmincon(fun,x0,A,b,Aeq,beq,lb,ub,non…

基于C/S架构的在线阅读器

项目简介 本项目实现了用户的基本阅读功能。项目内容涉及到IO&#xff0c;网络编程&#xff0c;C&#xff0c;QT等知识点。本次项目服务器搭建在ubuntu上&#xff0c;客户端ui在QT中实现&#xff0c;客户端和服务器使用套接字通信。 一、基本功能展示 &#xff08;1&#xff…

力扣513 找树左下角的值 Java版本

文章目录 题目描述解题思路代码 题目描述 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 提示: 二…

python 截取字符串string.split

目录 作用语法只要第一个值获得第3个值遍历 作用 根据某个符号对数据进行截取 从而获得自己想要的内容 语法 使用’string.split’ 方法 对字符串’123/abc/BPYC’ 以 ‘/’ 进行截取 string "123/abc/BPYC" substring string.split("/") print(subs…

cocos creator 3.7.2使用shader实现图片扫光特效

简介 功能:图片实现扫光效果 引擎:cocos Creator 3.7.2 开发语言:ts 完整版链接 链接https://lengmo714.top/284d90f4.html 效果图 shader代码 // Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd. CCEffect %{techniques:- passes:- vert: sprite-vs:vertfrag…

MySQL 备份方案

优质博文&#xff1a;IT-BLOG-CN 一、为什么要备份 【1】容灾恢复&#xff1a;硬件故障、不经意的 Bug 导致数据损坏&#xff0c;或者服务器及其数据由于某些原因不可获取或无法使用等&#xff08;例如&#xff1a;机房大楼烧毁&#xff0c;恶意的黑客攻击或 Mysql 的 Bug 等&…