vue $router和$route的区别详解

下面是详细讲解“vue $router和$route的区别详解”的完整攻略:

背景

Vue.js 是一个轻量级的 MVVM 前端框架,常用的路由管理器是 vue-router。在使用 vue-router 过程中,可能会涉及到两个关键对象:$router 和 $route。这两个对象貌似很相似,但实际上有着明确的区别。本文将详细讲解两者的区别和应用场景。

$router

在 Vue.js 组件中,可以通过这个对象访问到 VueRouter 实例(路由管理器),从而可以方便地执行一些基于路由跳转的方法,如push, replace, go等,使用 $router 对象的优点:

  • $router 可以很方便地执行路由跳转的方法。
  • $router 对象仅用于在组件代码中调用路由方法,因此较为轻量。

示例:跳转到命名路径为/home的页面

// 通过 this.$router 访问路由(VueRouter实例)
this.$router.push({ name: 'home' });

$route

$route 是当前路由的信息对象,包含当前路由的路径、参数、查询参数等,使用 $route 对象的优点:

  • $route 是只读的,不支持修改。
  • $route 可以在 computed 中进行响应式更新,方便的获得当前路由变化后的信息。

示例:获取当前路径参数

// 通过 this.$route 访问当前路由信息
console.log(this.$route.params.id);

总结

$router 是 vue-router 的实例对象,提供了一些基于路由跳转的方法,如push, replace, go等。常用于在组件代码中执行路由跳转的方法。

$route 是当前路由的信息对象,包含当前路由的路径、参数、查询参数等。$route 是只读的,不支持修改,可以在 computed 中进行响应式更新,方便的获得当前路由变化后的信息。

除了上述区别,$router 和 $route 还有很多的实际应用场景,比如:

  • 在全局导航守卫中使用 $router 拦截路由跳转。
  • 在页面的 computed 中使用 $route 监听路由变化。
  • 在组件内部使用 $router 跳转路由,同时又使用 $route 获得当前路由信息。

这里只是简单举了几个例子,还有很多其它的应用场景,需要在实际业务场景中灵活运用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue $router和$route的区别详解 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript asp教程第十一课–Application 对象

    JavaScript ASP 教程第十一课 — Application 对象 什么是 Application 对象 ASP 的 Application 对象是服务器端的全局对象,用于存储应用程序全局数据并使多个用户共享这些数据。Application 可以在 ASP 应用程序的任何页面中访问,因此非常有用。 如何使用 Application 对象 设置 A…

    JavaScript 2023年5月27日
    00
  • javaScript遍历对象和数组的方法总结

    JavaScript遍历对象和数组的方法总结 在JavaScript中,遍历对象和数组是非常重要的操作。对象和数组中都有各种各样的数据,我们需要用不同的方式去遍历它们并对其进行处理。本文将详细介绍JavaScript中遍历对象和数组的方法。 遍历对象的方法 在JavaScript中,一般使用for…in循环来遍历对象。for…in循环会遍历对象的所有…

    JavaScript 2023年5月27日
    00
  • 一文了解JavaScript闭包函数

    一文了解JavaScript闭包函数 JavaScript中的闭包函数是一种常见的概念,尤其常用于前端开发中。本文将对闭包函数进行详细讲解,帮助更好地理解它的概念和使用方法。 什么是JavaScript闭包函数? 在了解什么是闭包函数之前,我们先要了解嵌套函数的概念。在JavaScript中,我们可以在一个函数内部定义另一个函数,这个内部函数就是嵌套函数。 …

    JavaScript 2023年5月27日
    00
  • JS array 数组详解

    JS Array 数组详解 在JavaScript中,Array(数组)是一个十分重要的数据类型之一。本篇攻略将深入讲解JS数组的定义、用法、属性、方法等知识点,帮助读者全面理解和掌握JS数组的使用。 数组的定义 JS数组是一个用来存储一组数据的有序集合,可以存储不同数据类型和数据结构(如数字、字符串、对象、函数等)的值。可以使用数组字面量([])或Arra…

    JavaScript 2023年5月27日
    00
  • javascript三种代码注释方法

    JavaScript中有三种注释方法:单行注释、多行注释和文档注释。 1. 单行注释 单行注释用于注释一行代码,使用双斜杠(//)开头。 示例: // 这是一行单行注释 console.log("Hello World!"); 输出结果: Hello World! 2. 多行注释 多行注释用于注释多行代码,使用斜杠星号(/*)作为开始标记…

    JavaScript 2023年5月18日
    00
  • javascript将数组插入到另一个数组中的代码

    下面是javascript将数组插入到另一个数组中的完整攻略: 1.使用concat()方法 concat()方法可以向数组中添加其他数组或值,返回一个新数组。我们可以将需要插入的数组和要插入的数组合并,然后将结果赋值给原始数组。 例如,我们现在有两个数组arr1和arr2,我们要将arr2插入到arr1中。 // 原始数组 const arr1 = [1,…

    JavaScript 2023年5月27日
    00
  • 微信小程序表单验证WxValidate的使用

    下面是“微信小程序表单验证WxValidate的使用”的完整攻略: 1. 引入WxValidate库 首先,我们需要在小程序中引入WxValidate库,可以通过以下命令进行安装: npm install –save joi-wxvalidate 然后,在小程序的页面或组件中引入WxValidate库: import WxValidate from ‘jo…

    JavaScript 2023年6月10日
    00
  • JavaScript函数式编程(Functional Programming)声明式与命令式实例分析

    JavaScript函数式编程(Functional Programming)声明式与命令式实例分析 什么是函数式编程? 函数式编程(Functional Programming)是一种编程范式,其核心思想是用函数去组织代码,减少对于状态的依赖和改变,强调函数的纯粹性和不可变性,从而实现代码的简洁性、健壮性和可维护性。 声明式编程与命令式编程 命令式编程 命…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部