云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

这些很相似之《vue之route和router》

jxf315 2025-02-18 12:06:26 教程文章 35 ℃

Vue提供了两个对象来实现路由功能:router和router和route。在使用Vue Router时,很多人会有疑问:router和router和route到底有什么区别?

$router

$router是Vue Router的实例,包含了整个路由器的配置信息,可以理解为全局的路由控制器。它提供了一些方法和属性,比如push、replace和go等方法,用于改变URL,以及currentRoute、matched等属性,用于获取路由相关信息。

javascript复制代码javascript复制代码
export default {
  methods: {
    goToPage() {
      // 使用$router.push来改变URL
      this.$router.push('/page')
    }
  }
}

$route

$route是当前激活的路由对象,包含了当前URL解析得到的信息。也就是说,每次改变URL时,$route都会更新。

$route对象有很多属性,比如path表示当前路径,query表示查询参数,params表示动态路由参数,还有hash、fullPath等属性,可以根据具体需要来使用。

javascript复制代码javascript复制代码
export default {
  created() {
    console.log(this.$route.path) // 输出当前路径
    console.log(this.$route.params.id) // 输出动态路由参数id
  }
}

区别

综上所述,router是Vue Router的实例,提供了路由控制器的一些方法和属性,用于改变URL和获取路由相关信息。而router是VueRouter的实例,提供了路由控制器的一些方法和属性,用于改变URL和获取路由相关信息。而route是当前激活的路由对象,包含了当前URL解析得到的信息。

因此,它们之间最大的区别就在于作用范围:router是全局的,router是全局的,route是局部的。在使用时,需要根据具体需要来选择使用哪个对象。


原文:
https://juejin.cn/post/7225524569506414653


最近发表
标签列表