vue router 中query与params的区别

> 网上搜集一番资料, 得出以下总结,更多详情请查看官方文档:https://router.vuejs.org/zh/

params、query是什么?

params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params

query:/router1?id=123 ,/router1?id=456 ,这里的id叫做query。

路由设置这里,当你使用params方法传参的时候,要在路由后面加参数名,并且传参的时候,参数名要跟路由后面设置的参数名对应。使用query方法,就没有这种限制,直接在跳转里面用即可。

注意:如果路由上面不写参数,也是可以传过去的,但不会在url上面显示出你的参数,并且当你跳到别的页面或者刷新页面的时候参数会丢失,那依赖这个参数的http请求或者其他操作就会失败。


query 是正常的get 请求的参数传递

举例说明:

http://blog.panshao.xyz?userId=123&appId=456

在这个urlquery指的是 userId=123&appId=456

转换成json对象的话就是{userId: 123}

paramsrestful中的参数,可以理解为后台的参数。

举例说明:

很多路由都支持这样的格式,比如express

var express = require('express')
var app = express()

app.get('/home/:userId/app/:appId', () => {
   console.log('home' )
})

当我们请求/home/123/app/456的时候, 路由就会匹配到上面的方法。

其中params就是指的上面的userId 和 appId

转换成json就是{userId: 123, appId: 456}

猜你喜欢

转载自blog.csdn.net/example440982/article/details/81321166