vue Router 和 Route的区别是什么 以及 params和qurey

Router

Router对象是全局路由的实例,是router构造方法的实例,他主要是用来跳转路径

其中的方法有

push():

注意:push方法的跳转会向 history 栈添加一个新的记录,当我们点击浏览器的返回按钮时可以看到之前的页面。

go(): 主要用于返回上一级的路径

replace() :

push方法会向 history 栈添加一个新的记录,而replace方法是替换当前的页面,
不会向 history 栈添加一个新的记录

如果学过React的帖子们 应该都知道 push 和 replace的区别

Route

$route对象表示当前的路由信息,包含了当前 URL 解析得到的信息。包含当前的路径,参数,query对象等

其中的方法

1.$route.path** 字符串,对应当前路由的路径,总是解析为绝对路径,如 "/foo/bar"。 2.$route.params** 一个 key/value 对象,包含了 动态片段 和 全匹配片段, 如果没有路由参数,就是一个空对象。 **3.$route.query** 一个 key/value 对象,表示 URL 查询参数。 例如,对于路径 /foo?user=1,则有 $route.query.user == 1, 如果没有查询参数,则是个空对象。 4.$route.hash** 当前路由的 hash 值 (不带 #) ,如果没有 hash 值,则为空字符串。锚点 5.$route.fullPath** 完成解析后的 URL,包含查询参数和 hash 的完整路径。6.$route.matched** 数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。 7.$route.name 当前路径名字** **8.$route.meta 路由元信息

当然如果细说的Router传参的话 拿肯定query传参 和 params 的区别了

共同点就不用说了把  那都是Router中用来跳转的方法形式 

query

第一点  肯定就是这个搭配什么使用了 query 使用的是 path+‘/路径’  来达到跳转传参的目的 

query传参 相当于网络的 get请求 他的传参会在地址栏上显示 很不安全 

他的数据会缓存到地址栏上  刷新的话不会丢失

params

他主要搭配的是name来传参  不不不 是这能搭配name  他的传参方式 name+'路径' 重点!!不加前面的路径‘/’ 标识  别写错了 不然 咳咳咳 bug慢慢找 

他传参 当然和上面相反 他主要是先当于网络的POST请求  他不会在地址拦上显示 ,传的参数多少无所谓啦 反正也看不见  只要不怕浏览器崩 

当然 如果是params传参 他不会在地址栏上显示 你刷新 地址栏是空的  如果用Route来接受地址栏的数据  咳咳咳 抱歉拿不到  他会丢失 

这就是他们的区别  可能说的不太全 但主要也就是这几点  不全的话 可以评论补充  我也记不住多少  项目中 也就回遇到这些问题   他们要在哪里用 还是取决客服和BOSS的需求    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值