Vue中$router与 $route的区别详解

yizhihongxing

Vue中$router与$route的区别详解

在Vue中,$router和$route两个属性经常被用到,但是它们又有什么区别呢?

$route

$route是Vue-Router中的一个对象,它包含了当前路由的信息,例如当前的路径、参数、query参数等。在组件中可以通过this.$route来访问。

下面通过一个示例来说明:

<template>
  <div>
    <h2>{{ $route.params.id }}</h2>
    <p>{{ $route.query.page }}</p>
  </div>
</template>

<script>
export default {
  mounted() {
    console.log(this.$route.params.id);
    console.log(this.$route.query.page);
  }
}
</script>

在上面的示例中,我们使用了$route中的params和query属性来获取当前的路由参数和query参数。这里需要注意的是,如果要使用params需要在路由配置中定义。

$router

$router是Vue-Router中的一个对象,它是Vue-Router的实例,可以通过它来实现编程式导航。例如跳转到另一个路由、返回上一个路由等。在组件中可以通过this.$router来访问。

下面通过示例来说明:

<template>
  <div>
    <button @click="goDetail()">跳转到详情</button>
    <button @click="back()">返回上一级</button>
  </div>
</template>

<script>
export default {
  methods: {
    goDetail() {
      this.$router.push({ name: 'detail', params: { id: 1 }, query: { page: 2 } });
    },
    back() {
      this.$router.go(-1);
    }
  }
}
</script>

在上面的示例中,我们使用了$router中的push方法来实现跳转到详情页,并且传递了路由参数和query参数。而在返回上一级的按钮中,我们使用了$router中的go方法来实现。这个方法可以传递一个数字作为参数,代表返回上几级,也可以传递一个字符串参数,代表跳转到指定的路由。

总结

  • $route是用来获取当前路由信息的对象;
  • $router是Vue-Router的实例,用来实现编程式导航;
  • $route中包含了当前路由的信息,例如path、params、query等;
  • $router中包含了导航方法,例如push、replace、go等。

通过以上示例和解释,我们可以深入理解$router和$route的区别。

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

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

相关文章

  • javascript下判断一个对象是否具有指定名称的属性的的代码

    要判断一个 JavaScript 对象是否具有指定名称的属性,可以使用 in 或者 hasOwnProperty() 方法。 使用 in 关键字进行属性判断 in 关键字可以用于判断一个对象是否具有指定名称的属性,返回布尔值 true 或 false。 const person = { name: ‘张三’, age: 20 }; // 判断对象是否具有指定…

    JavaScript 2023年5月27日
    00
  • 详解JavaScript 浮点数运算的精度问题

    详解JavaScript 浮点数运算的精度问题 JavaScript 中的浮点数运算经常会出现精度问题,这是因为计算机存储小数时采用的是二进制,而在二进制表示下并不能精确地表示所有的十进制小数。 浮点数存储机制 JavaScript 中的浮点数采用 IEEE 754 标准,用 64 位二进制数表示,其中第 0 位表示符号位,第 1 至 11 位表示指数,第 …

    JavaScript 2023年5月28日
    00
  • js验证email的正则

    JS验证 Email 的正则表达式是一项很重要的前端技能,本篇攻略旨在帮助想要掌握这项技能的读者们进行学习。 1. 什么是正则表达式 正则表达式是一种特殊的文本字符串,用于在文本中查找、替换和匹配符合某些特定规则的字符串。利用正则表达式可以简化很多复杂的字符串操作,使代码更加简洁高效。 2. 邮箱正则表达式规则 验证Email的正则表达式需要遵循RFC 53…

    JavaScript 2023年6月10日
    00
  • JS array 数组详解

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

    JavaScript 2023年5月27日
    00
  • javascript学习笔记(七) js函数介绍

    JavaScript学习笔记(七) – JavaScript函数介绍 什么是函数 函数是一个可预测的、可重用的代码块,用于实现特定的任务。函数是 JavaScript 的一等公民,因此它们可以像任何其他值一样传递和赋值。 函数声明和调用 使用 function 关键字来声明一个函数。下面是一个简单的函数声明示例: function sayHello() { …

    JavaScript 2023年5月18日
    00
  • 跟我学习javascript的闭包

    跟我学习JavaScript的闭包攻略 什么是闭包? 在JavaScript中,闭包是指一个函数可以访问并操作定义在其它函数内部的变量。 具体来说,当一个函数返回另一个函数时,返回的函数可以访问其父级函数的变量,这个返回的函数就是一个闭包。 为什么需要使用闭包? 使用闭包有以下几个好处: 私有化变量: 为变量提供私有化处理,保护不被外部所访问,实现数据的安全…

    JavaScript 2023年5月27日
    00
  • 使用VSCode调试Electron主进程的方法步骤

    使用VSCode调试Electron主进程需要以下步骤: 安装必要的npm包和配置Electron 在电脑上安装Node.js和npm包管理器,然后在Electron项目目录下,运行以下命令安装必要的npm包: npm i –save-dev electron 在package.json中,添加以下代码: "main": "m…

    JavaScript 2023年6月10日
    00
  • JSON.parse损坏大数字的原因解析及解决方案

    出现问题的原因: 在使用JSON.parse()解析带有大数字的JSON字符串时,很可能会出现精度丢失的问题,导致解析后的数据与原数据不一致。这是由于JavaScript语言中最大的安全数字为 9007199254740991(2^53 – 1),超过这个数字范围后,会发生精度损失,从而导致数据不准确。 解决方案: 为了避免这种情况的发生,我们可以将JSON…

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