$route与$router区别

本文探讨了在Vue.js中,$route和$router的区别,以及路由传参的三种方式:路径直接拼接、query+path传递和params+name传递。详细解释了它们的使用场景和注意事项,强调了路径前缀 `/` 对路径嵌套的影响。
摘要由CSDN通过智能技术生成

$router是通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,包含了一些路由的跳转方法,钩子函数等

$route是路由信息对象,里面主要包含路由的一些基本信息,包括name、meta、path、hash、query、params、fullPath、matched、redirectedFrom

 路由传参差异

1 路径上直接拼接

this.$router.push('/loginreturn_url=' + encodeURIComponent(router.currentRoute.fullPath)) 

//router.currentRoute.fullPath 意思是为在js中获取当前路由路径的信息 

//encodeURIComponent()为转码

 2 query+path传递

 this.$router.push({

          path: '/login',

          query: {

            return_url: this.$route.fullPath

          }

        })

//this.$route.fullPath 意思为在组件内获取当前路由路径的信息 这样传递参数无需转码

3params+name传递

这里不做过多赘述

在页面展示上的差异

 

 路径注意点 以 / 开头的会被当做路径,就不会一直嵌套之前的路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值